Lớp con sẽ kế thừa tất cả các thuộc tính và phương thức public và protected từ lớp cha. Ngoài ra, nó có thể có các thuộc tính và phương thức riêng Show
Một lớp kế thừa được định nghĩa bằng cách sử dụng từ khóa <?php // Class Inheritance class Inheritance { public function example() { echo "Hi"; } } // Trait formultiple trait formultiple { public function examplem() { echo "\t Traits"; } } class Sample extends Inheritance { use formultiple; public function MultipleInheritance() { echo "\n Multiple-Inheritance"; } } $check = new Sample(); $check->example(); $check->examplem(); $check->MultipleInheritance(); ?>1 Hãy xem một ví dụ Ví dụclass Fruit { // Strawberry được kế thừa từ Fruit Ví dụ giải thíchLớp Strawberry được kế thừa từ lớp Fruit Điều này có nghĩa là lớp Strawberry có thể sử dụng các thuộc tính public $name và $color cũng như các phương thức public __construct() và intro() từ lớp Fruit do tính kế thừa Lớp Strawberry cũng có phương thức riêng. thông điệp() PHP - Kế thừa và Công cụ sửa đổi quyền truy cập được bảo vệTrong chương trước chúng ta đã biết rằng các thuộc tính hoặc phương thức của <?php // Class Inheritance class Inheritance { public function example() { echo "Hi"; } } // Trait formultiple trait formultiple { public function examplem() { echo "\t Traits"; } } class Sample extends Inheritance { use formultiple; public function MultipleInheritance() { echo "\n Multiple-Inheritance"; } } $check = new Sample(); $check->example(); $check->examplem(); $check->MultipleInheritance(); ?>2 có thể được truy cập trong lớp và bởi các lớp dẫn xuất từ lớp đó. Điều đó nghĩa là gì? Hãy xem một ví dụ Ví dụclass Fruit { class Strawberry extends Fruit { // Thử gọi cả ba phương thức từ lớp bên ngoài Trong ví dụ trên, chúng ta thấy rằng nếu chúng ta cố gọi một phương thức <?php // Class Inheritance class Inheritance { public function example() { echo "Hi"; } } // Trait formultiple trait formultiple { public function examplem() { echo "\t Traits"; } } class Sample extends Inheritance { use formultiple; public function MultipleInheritance() { echo "\n Multiple-Inheritance"; } } $check = new Sample(); $check->example(); $check->examplem(); $check->MultipleInheritance(); ?>2 (intro()) từ bên ngoài lớp, chúng ta sẽ gặp lỗi. <?php // Class Inheritance class Inheritance { public function example() { echo "Hi"; } } // Trait formultiple trait formultiple { public function examplem() { echo "\t Traits"; } } class Sample extends Inheritance { use formultiple; public function MultipleInheritance() { echo "\n Multiple-Inheritance"; } } $check = new Sample(); $check->example(); $check->examplem(); $check->MultipleInheritance(); ?>4 phương pháp sẽ hoạt động tốt Hãy xem một ví dụ khác Ví dụclass Fruit { class Strawberry extends Fruit { $strawberry = new Strawberry("Dâu", "đỏ"); . __construct() là công khai Trong ví dụ trên, chúng tôi thấy rằng tất cả đều hoạt động tốt. Đó là bởi vì chúng ta gọi phương thức <?php // Class Inheritance class Inheritance { public function example() { echo "Hi"; } } // Trait formultiple trait formultiple { public function examplem() { echo "\t Traits"; } } class Sample extends Inheritance { use formultiple; public function MultipleInheritance() { echo "\n Multiple-Inheritance"; } } $check = new Sample(); $check->example(); $check->examplem(); $check->MultipleInheritance(); ?>2 (intro()) từ bên trong lớp dẫn xuất PHP - Ghi đè các phương thức kế thừaCác phương thức kế thừa có thể được ghi đè bằng cách xác định lại các phương thức (sử dụng cùng tên) trong lớp con Nhìn vào ví dụ dưới đây. Các phương thức __construct() và intro() trong lớp con (Strawberry) sẽ ghi đè lên các phương thức __construct() và intro() trong lớp cha (Fruit) Đa kế thừa trong PHP 2019-06-17 06. 31. 44 Đa kế thừa trong PHP Đa kế thừa trong PHP Đa kế thừa là tài nguyên của Ngôn ngữ lập trình hướng đối tượng trong đó lớp con hoặc lớp con có thể kế thừa tài nguyên của nhiều lớp cha hoặc lớp cha. PHP không hỗ trợ Đa kế thừa nhưng sử dụng các giao diện trong PHP, chúng ta có thể triển khai nó. Sử dụng lớp với Đặc điểm. Đặc điểm là một loại lớp cho phép đa kế thừa. Các lớp, đối tượng và đặc điểm không mở rộng nhiều hơn một lớp nhưng có thể mở rộng nhiều đặc điểm cùng một lúc. cú pháp.class child_class_name extends parent_class_name { use trait_name; ------ ------ child_class functions }Ví dụ. <?php // Class Inheritance class Inheritance { public function example() { echo "Hi"; } } // Trait formultiple trait formultiple { public function examplem() { echo "\t Traits"; } } class Sample extends Inheritance { use formultiple; public function MultipleInheritance() { echo "\n Multiple-Inheritance"; } } $check = new Sample(); $check->example(); $check->examplem(); $check->MultipleInheritance(); ?>Đầu ra. Hi Traits Multiple-Inheritance
Sử dụng nhiều đặc điểmNhiều Đặc điểm có thể được thêm vào một lớp bằng cách liệt kê chúng trong câu lệnh sử dụng, được phân tách bằng dấu phẩy. cú pháp.class child_class_name { use trait_name; ---- ---- child_class functions }Ví dụ. <?php // trait Multiple trait Multiple { public function example() { echo "Hii"; } } trait formultiple { public function exam() { echo " Multiple"; } } class Test { use Multiple; use formultiple; public function MultipleInheritance() { echo "\n MultipleInheritance"; } } $check = new Test(); $check->example(); $check->exam(); $check->MultipleInheritance(); ?>Đầu ra. Hii Multiple MultipleInheritance
Sử dụng Lớp cùng với Giao diệncú pháp.class childclass extends parentclass implements interface1, …Ví dụ. <?php class A { public function insideA() { echo "A"; } } interface B { public function insideB(); } class Multiple extends A implements B function insideB() { echo "\n Interface"; } public function insidemultiple() { echo "\n Inherited"; } } $check = new multiple(); $check->insideA(); $check->insideB(); $check->insidemultiple(); ?>Đầu ra. ________số 8
Nhiều giao diệnVí dụ.<?php interface C { public function interfaceC(); } interface B { public function interfaceB(); } class Multiple implements B, C { // Interface B function interfaceB() { echo "\n InterfaceB"; } // Interface C function interfaceC() { echo "\n InterfaceC"; } public function insidemultiple() { echo "\n Inherited class"; } } $test = new multiple(); $test->interfaceC(); $test->interfaceB(); $test->insidemultiple(); ?>Đầu ra. <?php // Class Inheritance class Inheritance { public function example() { echo "Hi"; } } // Trait formultiple trait formultiple { public function examplem() { echo "\t Traits"; } } class Sample extends Inheritance { use formultiple; public function MultipleInheritance() { echo "\n Multiple-Inheritance"; } } $check = new Sample(); $check->example(); $check->examplem(); $check->MultipleInheritance(); ?>0Trong ví dụ trên, nhiều giao diện đã được sử dụng để thực hiện nhiều kế thừa. Có hai giao diện được gọi là “B” và “C” là các lớp cơ sở với lớp con được gọi là “Multiple” và chúng tôi đang gọi các hàm bằng cách sử dụng đối tượng của nó là "kiểm tra" Sự khác biệt giữa đa kế thừa và kế thừa đa cấp là gì?Trong Đa thừa kế, mỗi đứa trẻ có thể được bắt nguồn từ hai cha mẹ trở lên. Thừa kế đa cấp có thể có nhiều cấp kế thừa . Lớp cơ sở là cha của tất cả các lớp. Đa kế thừa có hai cấp lớp, i. e. , lớp cơ sở (lớp cha) và lớp dẫn xuất (lớp con).
Kế thừa đa cấp trong PHP là gì?Kế thừa đa cấp. Kế thừa đa cấp là kiểu thừa kế thứ ba được hỗ trợ trong PHP . Nó xảy ra ở các mức độ khác nhau. Ở đây, một lớp cơ sở được lớp dẫn xuất kế thừa, sau đó lớp dẫn xuất đó được kế thừa bởi các lớp dẫn xuất khác, v.v.
Tại sao PHP không hỗ trợ kế thừa đa cấp?Ngôn ngữ lập trình PHP thậm chí không hỗ trợ đa thừa kế/kế thừa. PHP chỉ hỗ trợ đa kế thừa bằng cách sử dụng các giao diện hoặc Đặc điểm trong PHP thay vì các lớp để chúng tôi có thể triển khai nó . Đặc điểm là một loại lớp cho phép nhiều lớp trường hợp, đối tượng, lớp và đặc điểm.
Kế thừa đa cấp là gì?Kế thừa đa cấp trong C++ là quá trình dẫn xuất một lớp từ một lớp dẫn xuất khác . Khi một lớp kế thừa một lớp khác, nó sẽ được kế thừa bởi một lớp khác. Nó được gọi là kế thừa đa cấp. |