Khi một lớp kế thừa từ một lớp khác, nó được gọi là kế thừa. Dưới đây là một số thuật ngữ quan trọng liên quan đến thừa kế trong PHP
- Lớp cha – Lớp mà các lớp khác được dẫn xuất từ đó được gọi là lớp cha. Nó còn được gọi là lớp cơ sở
- Lớp con – Lớp dẫn xuất từ một lớp khác được gọi là lớp con. Có một số tên khác cho nó cũng như lớp lá hoặc lớp dẫn xuất
Làm cách nào để kế thừa một lớp trong PHP?
Một lớp có thể được kế thừa bằng cách sử dụng từ khóa mở rộng. Nhìn vào ví dụ sau
Trong ví dụ trên
- Chúng tôi tạo một lớp cơ sở hoặc lớp cha Fruit với một số thuộc tính và phương thức
- Chúng tôi tạo một lớp táo khác mở rộng/kế thừa lớp cha Fruit bằng cách sử dụng từ khóa mở rộng
- Tạo thể hiện/đối tượng apple và truy cập phương thức lớp trái cây bằng cách sử dụng kế thừa
Kết thúc phần giới thiệu về kế thừa trong PHP, chúng tôi thu thập các điểm sau cho bạn
- Kế thừa cho phép lớp con truy cập __construct, phương thức và thuộc tính công khai của lớp cha
- Trong ví dụ trên, chúng ta có thể truy cập phương thức của lớp apple bằng đối tượng của nó, cũng như các phương thức của lớp cha
Phạm vi của công cụ sửa đổi quyền truy cập được bảo vệ trong Kế thừa
Trong hướng dẫn trước, chúng ta đã biết rằng các thuộc tính/phương thức được bảo vệ của một lớp có thể truy cập được trong lớp đó và các lớp dẫn xuất từ nó
Để hiểu phạm vi của công cụ sửa đổi quyền truy cập được bảo vệ trong kế thừa, trước tiên hãy xem ví dụ sau
Trong ví dụ trên
- Chúng tôi tạo một lớp trái cây với một số thuộc tính công khai và một phương thức được bảo vệ
- Chúng ta tạo một lớp apple khác, kế thừa từ lớp Fruit và tạo thể hiện của nó
- Khi chúng tôi cố gắng truy cập phương thức được bảo vệ của lớp Fruit bằng đối tượng lớp apple, nó sẽ báo lỗi vì chúng tôi đang cố truy cập thành viên được bảo vệ của lớp Fruit bên ngoài lớp dẫn xuất
Hãy chuyển sang một ví dụ khác, đây thực sự là một chút sửa đổi của ví dụ trên
Trong ví dụ trên, phương thức protected của lớp Fruit có thể truy cập được trong lớp apple vì chúng ta đang truy cập nó trong lớp
Ghi đè trong kế thừa
Ghi đè đề cập đến việc xác định lại các phương thức của lớp cha trong các lớp con, sử dụng cùng tên. Xem ví dụ sau về ghi đè trong thừa kế bên dưới
Trong ví dụ trên
- Chúng ta tạo một lớp cha Fruit và một lớp con apple mở rộng lớp Fruit và định nghĩa lại các phương thức __contruct và intro trong đó
- Lưu ý rằng lớp con apple định nghĩa các phương thức __construct và intro có cùng tên. Tuy nhiên, các thông số có thể khác nhau
- Chúng tôi tạo cá thể lớp apple và truyền tham số cho hàm xây dựng
- Khi chúng ta gọi phương thức giới thiệu bằng thể hiện apple, nó sẽ gọi phương thức giới thiệu của lớp apple vì chúng ta đã tạo thể hiện của đối tượng apple bằng cách sử dụng hàm tạo của lớp apple
Vai trò của từ khóa cuối cùng trong kế thừa
Từ khóa cuối cùng ngăn lớp con/lớp dẫn xuất ghi đè phương thức của lớp cha/lớp cơ sở. Xem ví dụ sau để hiểu cách sử dụng từ khóa Final
Trong ví dụ trên, lớp apple cố gắng ghi đè phương thức giới thiệu. Nó sẽ báo lỗi vì chúng ta đã sử dụng từ khóa final với phương thức giới thiệu của lớp Fruit
Nhấp để tham khảo chính thức về thừa kế PHP
kết luận
Kế thừa không chỉ là một khái niệm quan trọng của OOP trong PHP mà trong bất kỳ ngôn ngữ nào nó cũng đóng vai trò sống còn. Từ góc độ phỏng vấn, các câu hỏi thừa kế rất quan trọng. Vì vậy, bạn phải tự mình thực hành kế thừa.