Sự khác biệt giữa quá tải và ghi đè trong PHP
Có nhiều sự khác biệt giữa nạp chồng phương thức và ghi đè phương thức trong java. Dưới đây là danh sách các khác biệt giữa nạp chồng phương thức và ghi đè phương thức Show Ví dụ quá tải phương thức JavaVí dụ ghi đè phương thức JavaQuá tải và Ghi đè là các dạng đa hình trong OOP. Theo khái niệm Lập trình hướng đối tượng (OOP) nếu một lớp có các phương thức cùng tên nhưng các tham số khác nhau thì chúng ta nói rằng chúng ta đang quá tải phương thức đó. Ngoài ra, nếu chúng ta tạo một phương thức trong lớp con có cùng tên, cùng số lượng tham số và cùng một chỉ định truy cập như trong lớp cha của nó thì chúng ta có thể nói rằng chúng ta đang thực hiện ghi đè phương thức Ngoài ra, đọc
Như chúng ta biết rằng PHP không có kiểu nghiêm ngặt, có nghĩa là nếu chúng ta triển khai nạp chồng trong C++ hoặc Java, thì hàm sẽ giống như add(int,float) khác với add(float,int) hoặc thậm chí là add(float,int,int) . Thực ra đa hình không dễ trong PHP. Trong bài đăng này, bạn sẽ tìm hiểu cách xử lý tính đa hình trong PHP 1. Quá tải phương thứcNhư đã thảo luận ở trên PHP không hỗ trợ nạp chồng phương thức so với các ngôn ngữ khác như Java hay C++. Ví dụ. nếu mã ví dụ trên chuyển đổi sang Java hoặc C++, nó sẽ hoạt động mà không có bất kỳ lỗi nào. Nhưng nếu chúng ta chạy đoạn mã trên, nó sẽ báo lỗi “Không thể khai báo lại ABC. displayMessage()”. Quá tải đơn giản không được hỗ trợ bởi PHP. Nhưng bạn có thể triển khai quá tải bằng cách sử dụng phương thức ma thuật PHP __call() Ví dụ. __call() hàm được kích hoạt khi gọi các phương thức không thể truy cập trong ngữ cảnh đối tượng. Cú pháp của __call() là hỗn hợp __call(string $name,array $arguments). 2. Ghi đè phương thứcNếu bạn tạo một phương thức trong lớp con có cùng tên, cùng số lượng tham số và cùng bộ xác định quyền truy cập như trong lớp cha thì chúng ta có thể nói rằng chúng ta đang thực hiện ghi đè phương thức trong PHP. Ví dụ
Theo tính đa hình, nếu chúng ta gọi một phương thức bằng cách kiểm tra đối tượng trong thời gian chạy là một trường hợp đa hình. Ở đây trong ví dụ trên, chúng ta gọi phương thức đầu ra () của lớp AA hoặc lớp BB phụ thuộc vào đối tượng đang thực hiện cuộc gọi đến phương thức Ghi đè và nạp chồng hàm là các dạng Đa hình trong Lập trình hướng đối tượng. Quá tải phương thức xảy ra khi hai hoặc nhiều phương thức có cùng tên phương thức nhưng khác số lượng tham số trong một lớp. Ghi đè phương thức có nghĩa là hai phương thức có cùng tên phương thức và cùng số lượng tham số trong hai lớp khác nhau có nghĩa là lớp cha và lớp con Quá tải chức năngNhư đã nêu trước đó, nạp chồng hàm có nghĩa là khai báo cùng một tên hàm nhiều lần với các tham số khác nhau. Ví dụ: để tìm diện tích của vectơ, chúng ta cần truyền bán kính làm tham số cho hình tròn trong khi chúng ta cần truyền chiều dài và chiều rộng làm tham số cho hình chữ nhật. Trong trường hợp đó, chúng ta cần truyền một tham số cho hình tròn và hai tham số cho hình chữ nhật Hãy kiểm tra tại ví dụ dưới đây Chúng tôi đã xác định hai chức năng Điều này có thể được khắc phục bằng cách sử dụng Mã này sẽ xuất ra
Ghi đè chức năngGhi đè hàm có nghĩa là cả lớp cha và lớp con phải có cùng tên hàm và cùng số đối số. Ghi đè chức năng được sử dụng để thay thế phương thức cha trong lớp con Hàm sẽ xuất ra
Đọc thêm bài viết
Chia sẻ liên kết Bài viết trước Chụp ảnh chụp màn hình trang web bằng API PageSpeed Insights Bài viết tiếp theo Phát triển theo định hướng thử nghiệm trong PHP Vijay Rana https. // mã hóa. com Xin chào, tôi là Vijay Rana, Kỹ sư phần mềm, Nhà phát triển web và Tác giả tại Kodementor. Tôi thích dành phần lớn thời gian của mình để lướt internet, chơi trò chơi và viết bài. Cảm ơn bạn đã kiểm tra ra blog của tôi. Mua cho tôi một ly cà phê Sự khác biệt giữa quá tải và ghi đè là gì?Ghi đè xảy ra khi chữ ký phương thức giống nhau trong lớp cha và lớp con. Quá tải xảy ra khi hai hoặc nhiều phương thức trong cùng một lớp có cùng tên nhưng khác tham số
Tại sao quá tải không được hỗ trợ trong PHP?Bạn không thể quá tải các hàm PHP. Chữ ký hàm chỉ dựa trên tên của chúng và không bao gồm danh sách đối số, vì vậy bạn không thể có hai hàm có cùng tên . Quá tải phương thức lớp trong PHP khác với nhiều ngôn ngữ khác. PHP sử dụng cùng một từ nhưng nó mô tả một mẫu khác.
Quá tải có thể xảy ra trong PHP không?PHP không hỗ trợ nạp chồng phương thức . Trong trường hợp bạn chưa bao giờ nghe nói về nạp chồng phương thức, điều đó có nghĩa là ngôn ngữ có thể chọn phương thức dựa trên tham số bạn đang sử dụng để gọi phương thức đó. Điều này có thể thực hiện được ở nhiều ngôn ngữ lập trình khác như Java, C++.
Quá tải trong PHP với ví dụ là gì?Nạp chồng hàm chứa cùng tên hàm và hàm đó thực hiện tác vụ khác nhau tùy theo số lượng đối số . Ví dụ: tìm diện tích của một số hình nhất định trong đó bán kính được cho trước thì nó sẽ trả về diện tích hình tròn nếu cho chiều cao và chiều rộng thì nó sẽ cho diện tích hình chữ nhật và các hình khác. |