Ghi đè và quá tải trong php là gì?
Show
Khái niệm Nạp chồng và Ghi đè hàm trong PHP xuất phát từ tính đa hình của OOP. Theo Lập trình hướng đối tượng, nạp chồng hàm có nghĩa là nhiều phương thức/hàm có cùng tên nhưng khác tham số. Và trong lớp con có cùng tên, cùng tham số với lớp cha, nó được gọi là ghi đè phương thức Nói chung, PHP không hỗ trợ nạp chồng hàm trực tiếp như các ngôn ngữ khác như C++, JAVA, v.v. Nhưng chúng ta có thể khắc phục vấn đề này bằng cách sử dụng phương thức ma thuật PHP __call(). Vì vậy, hãy xem quá tải và ghi đè trong PHP hoạt động như thế nào
Quá tải trong PHPHãy xem chỗ nào chúng ta không thể sử dụng nạp chồng hàm trong PHP mà chúng ta có thể dễ dàng sử dụng bằng ngôn ngữ khác. Ví dụ, xem tập lệnh PHP sau
Nếu chúng tôi chuyển đoạn mã này sang C++ hoặc JAVA thì nó sẽ hoạt động bình thường. Đây là ví dụ cơ bản về nạp chồng hàm cho ngôn ngữ lập trình C++ hoặc JAVA. nhưng mã này sẽ không hoạt động cho PHP. Nó sẽ hiển thị “Lỗi nghiêm trọng PHP. Không thể khai báo lại SocialMedia. thông báo lỗi sharaMessage()”. Nhưng nếu chúng ta muốn làm điều gì đó như vậy, thì chúng ta sẽ phải sử dụng phương thức ma thuật PHP __call(). Với phương pháp ma thuật đó, bạn thực sự có thể thực hiện quá tải phương thức Dung dịch
Xem đoạn mã trên, ở đây hàm __call đượ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. Nếu bạn có thắc mắc về quá tải trong PHP, hãy viết bình luận Ghi đè chức năngGhi đè hàm trong PHP khá dễ dàng. Ghi đè là quá trình sửa đổi một cái gì đó của phương thức kế thừa. Theo nghĩa OOP nếu một lớp cha có một chức năng (e. g testMethod()) và một lớp khác kế thừa từ lớp cha đó. Và lớp con đó có cùng một phương thức (e. g testMethod()), điều đó có nghĩa là testMethod() của lớp con ghi đè lên testMethod() của lớp cha. Cái đó gọi là ghi đè hàm. Đừng nhầm lẫn nó với chức năng quá tải Ví dụ
Từ đoạn mã trên, bạn có thể thấy chức năng chia sẻ lớp ParentClass(). ChildClass kế thừa từ ParentClass. Và ChildClass cũng có chức năng shared() tương tự. Vì vậy, chia sẻ của ChildClass() ghi đè lớp ParentClass của anh ấy Tôi hy vọng bài viết này sẽ giúp bạn hiểu về nạp chồng và ghi đè hàm trong PHP. mã hóa hạnh phúc. Để đọc thêm các bài viết liên quan đến PHP bấm vào đây Quá tải trong PHP là gì?Nạp chồng hàm trong PHP được dùng để tạo động các thuộc tính và phương thức . Các thực thể động này được xử lý bằng các phương thức ma thuật có thể được sử dụng trong một lớp cho các loại hành động khác nhau. Nạp chồng hàm chứa cùng một tên hàm và hàm đó thực hiện các tác vụ khác nhau tùy theo số lượng đối số.
Sự khác biệt giữa ghi đè và quá tải 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 và ghi đè chức năng là gì?Nạp chồng hàm là khi tồn tại nhiều hàm trùng tên trong một lớp. Ghi đè hàm là khi hàm có cùng nguyên mẫu trong lớp cơ sở cũng như lớp dẫn xuất . 2. Quá tải chức năng có thể xảy ra mà không cần kế thừa. Ghi đè chức năng xảy ra khi một lớp được kế thừa từ một lớp khác. |