Kế thừa là một nguyên tắc lập trình được thiết lập tốt và PHP sử dụng nguyên tắc này trong mô hình đối tượng của nó. Nguyên tắc này sẽ ảnh hưởng đến cách nhiều lớp và đối tượng liên quan với nhau
Ví dụ: khi mở rộng một lớp, lớp con sẽ kế thừa tất cả các phương thức, thuộc tính và hằng số công khai và được bảo vệ từ lớp cha. Trừ khi một lớp ghi đè các phương thức đó, chúng sẽ giữ nguyên chức năng ban đầu của chúng
Điều này hữu ích cho việc xác định và trừu tượng hóa chức năng, đồng thời cho phép triển khai chức năng bổ sung trong các đối tượng tương tự mà không cần phải triển khai lại tất cả các chức năng được chia sẻ
Các phương thức riêng của lớp cha không thể truy cập được đối với lớp con. Kết quả là, các lớp con có thể tự hiện thực lại một phương thức riêng tư mà không cần quan tâm đến các quy tắc kế thừa thông thường. Trước PHP 8. 0. 0, tuy nhiên, các hạn chế của final
và static
đã được áp dụng cho các phương pháp riêng tư. Kể từ PHP 8. 0. 0, hạn chế phương thức riêng tư duy nhất được thực thi là hàm tạo private final
, vì đó là cách phổ biến để "vô hiệu hóa" hàm tạo khi sử dụng các phương thức gốc tĩnh thay thế
Khả năng hiển thị của các phương thức, thuộc tính và hằng số có thể được nới lỏng, e. g. một phương pháp protected
có thể được đánh dấu là public
, nhưng chúng không thể bị hạn chế, e. g. đánh dấu thuộc tính public
là private
Ghi chú
Trừ khi autoloading được sử dụng, các lớp phải được xác định trước khi chúng được sử dụng. Nếu một lớp mở rộng một lớp khác, thì lớp cha phải được khai báo trước cấu trúc lớp con. Quy tắc này áp dụng cho các lớp kế thừa các lớp và giao diện khác
Ghi chú
Không được phép ghi đè thuộc tính đọc ghi bằng a hoặc ngược lại
0
Ví dụ #1 Ví dụ về kế thừa
12static
0
static
1
static
2
Khả năng tương thích của loại trả về với các lớp nội bộ
Trước PHP 8. 1, hầu hết các lớp hoặc phương thức bên trong không khai báo kiểu trả về của chúng và mọi kiểu trả về đều được phép khi mở rộng chúng
Kể từ PHP 8. 1. 0, hầu hết các phương thức nội bộ bắt đầu "tạm thời" khai báo kiểu trả về của chúng, trong trường hợp đó, kiểu trả về của các phương thức phải tương thích với kiểu gốc được mở rộng; . Lưu ý rằng việc thiếu khai báo trả về rõ ràng cũng được coi là chữ ký không khớp và do đó dẫn đến thông báo không dùng nữa
Nếu kiểu trả về không thể được khai báo cho một phương thức ghi đè do lo ngại về khả năng tương thích giữa các phiên bản PHP, một thuộc tính static
3 có thể được thêm vào để tắt thông báo phản đối
Tính kế thừa trong PHP giúp giảm sao chép mã. Đó là cách tiếp cận chức năng của lớp hiện tại trong lớp được tạo gần đây. Chúng tôi có thể thêm một số chức năng bổ sung cho lớp mới được thành lập ngoài việc tiếp cận các chức năng của lớp cơ sở. Khi chúng ta có được một lớp, chúng ta khai báo một lớp kế thừa là một lớp dẫn xuất [lớp con], và từ đó chúng ta dẫn xuất được gọi là lớp cha. Lớp cơ sở còn được gọi là lớp cha. Đây là quá trình cho phép kiểm soát tốt hơn mã lập trình và khả năng sử dụng lại chương trình. Khái niệm đằng sau việc sử dụng tính kế thừa là tất cả về kiểm soát mã đáng tin cậy hơn và khả năng sử dụng lại mã. Tại thời điểm này, chúng ta sẽ nghiên cứu Kế thừa trong PHP
Các loại kế thừa trong PHP
Có 3 loại Kế thừa cơ bản hỗ trợ trong PHP. Đó là…
- Thừa kế đơn
- Kế thừa phân cấp
- Kế thừa đa cấp
Thừa kế đơn
Kế thừa duy nhất hỗ trợ PHP. Đó là một ý tưởng trong PHP trong đó một lớp duy nhất có thể được dẫn xuất bởi một lớp duy nhất. Chúng tôi yêu cầu phải có hai lớp ở giữa phương thức này. Một là lớp cha [lớp cơ sở] và lớp kia là lớp dẫn xuất [lớp con]. Hãy phỏng đoán tương tự với một ví dụ. Nó thường được gọi là thừa kế đơn giản. Kiểu kế thừa này trong ngôn ngữ PHP vẫn giống như các ngôn ngữ lập trình khác
đầu ra
Nhà tiên tri Mohammad [P. B. U. H]
Kế thừa phân cấp
Kế thừa phân cấp hỗ trợ PHP. Nó là kiểu kế thừa trong đó một mã chứa một cơ sở duy nhất và nhiều hơn một lớp dẫn xuất. Hãy phỏng đoán tương tự với ví dụ này. Kiểu kế thừa này trong ngôn ngữ PHP vẫn giống như các ngôn ngữ lập trình khác
đầu ra
Đây là lớp con đầu tiên
Đây là lớp con thứ hai
Đây là lớp con thứ hai
Kế thừa đa cấp
Kế thừa đa cấp hỗ trợ PHP. Ở đây, chúng ta cần có nhiều hơn hai lớp. Trong kiểu kế thừa này, lớp cơ sở sẽ được kế thừa bởi lớp dẫn xuất, sau đó lớp dẫn xuất đó sẽ được kế thừa bởi lớp dẫn xuất
đầu ra
Nó đã được mở rộng bởi Lớp cha
Đây là lớp kế thừa đầu tiên.
Nó đã được mở rộng Bởi con 1 – nó là lớp kế thừa thứ hai
Sự kết luận
Chúng tôi phải sử dụng tài sản thừa kế để đáp ứng nghề nghiệp của mình khi nó phát triển với một số lợi ích bổ sung so với chương trình bình thường. Họ nên quan tâm đến việc bảo mật dữ liệu trong khi giao dịch với tài sản thừa kế. Nó có thể sử dụng công cụ sửa đổi quyền truy cập [riêng tư, được bảo vệ] để xử lý việc ẩn dữ liệu và bảo mật dữ liệu