Làm cách nào bạn có thể tạo một phương thức Không thể ghi đè trong PHP?

Ghi đè phương thức protected bằng phương thức public trong lớp con giúp phương thức này có thể truy cập được từ mọi nơi. Điều này vi phạm nguyên tắc đóng gói và được coi là thông lệ xấu

Xem để biết chi tiết

Chặn kiểm tra trong trình chỉnh sửa

  1. Định vị dấu mũ tại dòng được đánh dấu và nhấn Alt+Enter hoặc nhấp

  2. Nhấp vào mũi tên bên cạnh kiểm tra mà bạn muốn chặn và chọn hành động chặn cần thiết

    Các nguyên tắc hướng đối tượng của PHP cho phép nạp chồng phương thức và ghi đè phương thức. Bạn có thể đã nghe cả hai thuật ngữ này, nhưng không biết ý nghĩa của chúng, vì vậy tôi muốn giúp bạn phân biệt chúng

    Nạp chồng phương thức là khi bạn có hai phương thức có cùng tên nhưng khác nhau về số lượng tham số. Trong các ngôn ngữ lập trình như Java, điều này khá đơn giản để đạt được. Bạn tạo hai phương thức có cùng tên và bạn cung cấp cho chúng một số đối số khác nhau

    • diện tích [đường kính]
    • diện tích [chiều dài, chiều rộng]

    Trong ví dụ trên, chúng ta có một số đối số khác nhau để tính diện tích hình tròn so với tính diện tích hình chữ nhật

    Trong PHP, bạn phải sử dụng hàm kỳ diệu __call[], đây là chủ đề của một bài viết khác. Chúng ta đang thảo luận về ghi đè phương thức trong phần này

    Nếu bạn đã theo dõi loạt bài viết này, bạn có thể nhớ rằng chúng tôi đã tạo một lớp Dog với phương thức sủa[]. Chúng tôi đã kế thừa lớp Dog bên trong lớp GermanShepherd của chúng tôi và bằng cách liên kết, chúng tôi đã kế thừa tất cả các phương thức và thuộc tính, bao gồm cả phương thức bark[]

    Chúng tôi muốn tiếng sủa GermanShepherd của chúng tôi khác đi, vì vậy chúng tôi đã tạo một phương thức bark[] bên trong lớp GermanShepherd của chúng tôi và phương thức bark[] đó ghi đè lên phương thức bark[] được kế thừa từ lớp Dog

    Để ghi đè một phương thức kế thừa, bạn chỉ cần đảm bảo rằng tên phương thức và số đối số hoàn toàn giống nhau

    PHP — P55. Tách tệp

    Sự miêu tả

    Blog. thiên tài. io

    Tiếp tục từ nơi chúng tôi dừng lại, chúng tôi tách từng lớp thành tệp riêng của nó. Chúng tôi sẽ tạo một tệp mới, được gọi là Ghi đè phương thức. php, để hiển thị phương thức sủa[] của chúng ta đang hoạt động

    Lệnh gọi phương thức bark[] xuất ra “Loud Barking”, vì đó là đầu ra mà chúng ta đã chỉ định trong phương thức bark[] trong lớp GermanShepherd

    Để làm mới lại, các lớp GermanShepherd và Dog của chúng tôi chứa các phương thức sau

    Hãy ghi đè một số phương thức khác, như walk[]. Để làm cho nó thú vị hơn, chúng ta cũng sẽ thêm phương thức walk[] vào lớp Mammal của chúng ta. Bằng cách này, lớp Dog kế thừa từ Mammal và ghi đè phương thức Mammal walk[], và lớp GermanShepherd kế thừa từ Dog và ghi đè phương thức Dog walk[]. Nhưng một bước tại một thời điểm

    Trước tiên, hãy chỉ thêm phương thức walk[] vào lớp Mammal của chúng ta và nhận xét phương thức walk[] từ lớp Dog của chúng ta. Để dễ hình dung hơn, tôi sẽ ném tất cả mã vào một tệp, nhưng bạn nên tách các tệp của mình ra

    Khi chúng tôi khởi tạo lớp GermanShepherd của mình và gọi walk[], chúng tôi nhận được I'm a Walking Mammal. Tiếp theo, hãy bỏ ghi chú phương thức walk[] từ lớp Dog để nó ghi đè phương thức Mammal walk[]

    Nếu chúng ta gọi lại phương thức walk[], chúng ta sẽ nhận được I’m a walk dog. Điều này là do phương thức Mammal walk[] đã bị ghi đè

    Cuối cùng, hãy tạo một phương thức walk[] bên trong lớp GermanShepherd của chúng ta để trả về chuỗi I'm a Walking GermanShepherd

    Bây giờ gọi phương thức GermanShepherd walk[] của chúng ta sẽ cho ra kết quả tôi là German Shepherd đang đi bộ. Phương thức GermanShepherd walk[] ghi đè lên phương thức Dog walk[], ghi đè lên phương thức Mammal walk[]

    Điều đó chỉ hoạt động đối với các phương thức được kế thừa, đó là các phương thức công khai và được bảo vệ. Các phương thức riêng tư không được kế thừa, vì vậy chúng không bị ghi đè. Công cụ sửa đổi khả năng hiển thị công khai hoặc được bảo vệ phải được giữ giống hệt nhau giữa lớp cha và lớp con để ghi đè hoạt động

    Khá đơn giản

    dinocajic/php-7-youtube-tutorials

    Mã cho hướng dẫn PHP trên YouTube

    github. com

    Dino Cajic hiện là Trưởng phòng CNTT tại LSBio [LifeSpan BioSciences, Inc. ], Kháng thể tuyệt đối, Kerafast, Everest BioTech, Nordic MUbio và Exalpha. Ông cũng là Giám đốc điều hành tại MyAutoSystem. Ông có hơn một thập kỷ kinh nghiệm về công nghệ phần mềm. Anh ấy có điểm B. S. về Khoa học Máy tính và môn phụ về Sinh học. Nền tảng của anh ấy bao gồm việc tạo ra các ứng dụng thương mại điện tử cấp doanh nghiệp, thực hiện phát triển phần mềm dựa trên nghiên cứu và tạo điều kiện phổ biến kiến ​​thức thông qua viết lách

    Bạn có thể kết nối với anh ấy trên LinkedIn, theo dõi anh ấy trên Instagram hoặc đăng ký ấn phẩm Phương tiện của anh ấy

    Đọc mọi câu chuyện từ Dino Cajic [và hàng nghìn nhà văn khác trên Medium]. Phí thành viên của bạn trực tiếp hỗ trợ Dino Cajic và các nhà văn khác mà bạn đọc. Bạn cũng sẽ có toàn quyền truy cập vào mọi câu chuyện trên Phương tiện

    Làm cách nào để ngăn ghi đè phương thức trong PHP?

    Tránh ghi đè phương thức . using the keyword final infront of the method name prevents it from being overriden.

    Phương pháp nào không thể ghi đè?

    Các phương thức mà một lớp con không thể ghi đè . Nói cách khác, một lớp con không thể ghi đè lên một phương thức của lớp. methods that are declared static in the superclass. In other words, a subclass cannot override a class method.

    Bạn có thể ghi đè các phương thức trong PHP không?

    Hãy khám phá cách ghi đè hoạt động trong PHP. Ghi đè là một khái niệm trong đó lớp dẫn xuất của lớp cơ sở thực hiện hành động tương tự như lớp cơ sở. việc ghi đè này có thể trên các phương thức hoặc lớp .

    Khi một phương thức là cuối cùng, nó không thể bị ghi đè?

    Chúng ta có thể ghi đè phương thức cuối cùng không? . Vì lý do này, một phương thức chỉ được khai báo là cuối cùng khi chúng tôi chắc chắn rằng nó đã hoàn thành. No, the Methods that are declared as final cannot be Overridden or hidden. For this very reason, a method must be declared as final only when we're sure that it is complete.

Chủ Đề