Trang chủ »Chương trình PHP» PHP
Ở đây, chúng tôi sẽ chứng minh sự kế thừa đa cấp trong PHP. Được gửi bởi Nidhi, vào ngày 20 tháng 11 năm 2020demonstrate the multi-level inheritance in PHP.
Submitted by
Nidhi, on November 20, 2020
Ở đây, chúng tôi sẽ thực hiện kế thừa đa cấp. Trong kế thừa đa cấp, chúng ta sẽ thừa hưởng một lớp cơ sở thành một lớp dẫn xuất, và sau đó lớp dẫn xuất sẽ trở thành lớp cơ sở cho một lớp có nguồn gốc khác.implement multi-level inheritance. In the multi-level inheritance, we will inherit the one base class into a derived class, and then the derived class will become the base class for another derived class.
Chương trình/Mã nguồn:
Mã nguồn để chứng minh kế thừa đa cấp được đưa ra dưới đây. Chương trình đã cho được biên soạn và thực hiện thành công.demonstrate the multi-level inheritance is given below. The given program is compiled and executed successfully.
Output:
BaseFun[] called Derived1Fun[] called Derived2Fun[] called
Explanation:
Trong chương trình trên, chúng tôi đã tạo ba cơ sở lớp, DRIVE1 và DOUNDIVE2. Ở đây, chúng tôi được thừa hưởng lớp cơ sở thành lớp Dered1 và sau đó kế thừa lớp D -
Cuối cùng, chúng tôi đã tạo đối tượng $ DOBJ của lớp dẫn xuất2. Sau đó, được gọi là các chức năng của tất cả các lớp bằng cách sử dụng đối tượng của lớp dẫn xuất2 sẽ in các tin nhắn phù hợp trên trang web.
Các chương trình Php Class & Object »
Nhiều kế thừa là thuộc tính của các ngôn ngữ lập trình theo định hướng đối tượng trong đó lớp con hoặc lớp phụ có thể kế thừa các thuộc tính của nhiều lớp cha hoặc siêu lớp.php không hỗ trợ nhiều kế thừa mà bằng cách sử dụng các giao diện trong PHP hoặc sử dụng các đặc điểm trong PHP thay thế của các lớp, chúng ta có thể thực hiện nó.
PHP doesn’t support multiple inheritance but by using Interfaces in PHP or using Traits in PHP instead of classes, we can implement it.
Đặc điểm [sử dụng lớp cùng với các đặc điểm]: Đặc điểm là một loại lớp cho phép nhiều kế thừa. Các lớp, lớp trường hợp, đối tượng và đặc điểm đều có thể mở rộng khô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. The trait is a type of class which enables multiple inheritance. Classes, case classes, objects, and traits can all extend no more than one class but can extend multiple traits at the same time.
Syntax:
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }
Example:
BaseFun[] called Derived1Fun[] called Derived2Fun[] called0
BaseFun[] called Derived1Fun[] called Derived2Fun[] called1
BaseFun[] called Derived1Fun[] called Derived2Fun[] called2
BaseFun[] called Derived1Fun[] called Derived2Fun[] called3
BaseFun[] called Derived1Fun[] called Derived2Fun[] called4
BaseFun[] called Derived1Fun[] called Derived2Fun[] called5
BaseFun[] called Derived1Fun[] called Derived2Fun[] called6
BaseFun[] called Derived1Fun[] called Derived2Fun[] called7
BaseFun[] called Derived1Fun[] called Derived2Fun[] called8
BaseFun[] called Derived1Fun[] called Derived2Fun[] called9
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }0
BaseFun[] called Derived1Fun[] called Derived2Fun[] called3
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }4
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }5
BaseFun[] called Derived1Fun[] called Derived2Fun[] called3
BaseFun[] called Derived1Fun[] called Derived2Fun[] called4
BaseFun[] called Derived1Fun[] called Derived2Fun[] called5
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }9
BaseFun[] called Derived1Fun[] called Derived2Fun[] called7
BaseFun[] called Derived1Fun[] called Derived2Fun[] called8
Hello Geeks GeeksforGeeks2
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }0
BaseFun[] called Derived1Fun[] called Derived2Fun[] called3
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
BaseFun[] called Derived1Fun[] called Derived2Fun[] called1
Hello Geeks GeeksforGeeks8
Hello Geeks GeeksforGeeks9
BaseFun[] called Derived1Fun[] called Derived2Fun[] called2
class child_class_name { use trait_name; ... ... child_class functions }1
class child_class_name { use trait_name; ... ... child_class functions }2
class child_class_name { use trait_name; ... ... child_class functions }3
class child_class_name { use trait_name; ... ... child_class functions }1
BaseFun[] called Derived1Fun[] called Derived2Fun[] called4
BaseFun[] called Derived1Fun[] called Derived2Fun[] called5
class child_class_name { use trait_name; ... ... child_class functions }7
class child_class_name { use trait_name; ... ... child_class functions }8
BaseFun[] called Derived1Fun[] called Derived2Fun[] called8
Hello Geeks GeeksforGeeks0
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }0
BaseFun[] called Derived1Fun[] called Derived2Fun[] called3
Hello Geeks GeeksforGeeks3
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
Hello Geeks GeeksforGeeks5
Hello Geeks GeeksforGeeks6
Hello Geeks GeeksforGeeks7
Hello Geeks GeeksforGeeks8
Hello Geeks GeeksforGeeks5
class child_class_name extends parent_class_name implements interface_name1, ...0
Hello Geeks GeeksforGeeks5
class child_class_name extends parent_class_name implements interface_name1, ...2
Hello Geeks GeeksforGeeks5
class child_class_name extends parent_class_name implements interface_name1, ...4
class child_class_name extends parent_class_name implements interface_name1, ...5
Output:
Hello Geeks GeeksforGeeks
Trong chương trình trên, các đặc điểm, đã được sử dụng cùng với lớp cha. Có một lớp học có tên là Geeks, có chứa hàm Sayhello [] và một đặc điểm của người Hồi Kiểm tra và sử dụng nó, chúng tôi đang gọi tất cả các chức năng của một lớp và một đặc điểm.
Đặc điểm [sử dụng nhiều đặc điểm]: Nhiều đặc điểm có thể được chèn 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. Multiple Traits can be inserted into a class by listing them in the use statement, separated by
commas.
Syntax:
class child_class_name { use trait_name; ... ... child_class functions }
Example:
BaseFun[] called Derived1Fun[] called Derived2Fun[] called0
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }4
BaseFun[] called Derived1Fun[] called Derived2Fun[] called2
BaseFun[] called Derived1Fun[] called Derived2Fun[] called3
BaseFun[] called Derived1Fun[] called Derived2Fun[] called4
BaseFun[] called Derived1Fun[] called Derived2Fun[] called5
BaseFun[] called Derived1Fun[] called Derived2Fun[] called6
BaseFun[] called Derived1Fun[] called Derived2Fun[] called7
BaseFun[] called Derived1Fun[] called Derived2Fun[] called8
BaseFun[] called Derived1Fun[] called Derived2Fun[] called9
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }0
class child_class_name { use trait_name; ... ... child_class functions }1
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
I am in class A I am in interface I am in inherited class9
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }4
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }5
BaseFun[] called Derived1Fun[] called Derived2Fun[] called3
BaseFun[] called Derived1Fun[] called Derived2Fun[] called4
BaseFun[] called Derived1Fun[] called Derived2Fun[] called5
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }9
BaseFun[] called Derived1Fun[] called Derived2Fun[] called7
BaseFun[] called Derived1Fun[] called Derived2Fun[] called8
Hello Geeks GeeksforGeeks2
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }0
class child_class_name { use trait_name; ... ... child_class functions }1
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
I am in class A I am in interface I am in inherited class9
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
BaseFun[] called Derived1Fun[] called Derived2Fun[] called1
Hello Geeks GeeksforGeeks8
Hello Geeks GeeksforGeeks9
BaseFun[] called Derived1Fun[] called Derived2Fun[] called2
class child_class_name { use trait_name; ... ... child_class functions }1
class child_class_name { use trait_name; ... ... child_class functions }2
class child_class_name { use trait_name; ... ... child_class functions }3
class child_class_name { use trait_name; ... ... child_class functions }1
BaseFun[] called Derived1Fun[] called Derived2Fun[] called4
BaseFun[] called Derived1Fun[] called Derived2Fun[] called5
class child_class_name { use trait_name; ... ... child_class functions }7
class child_class_name { use trait_name; ... ... child_class functions }8
BaseFun[] called Derived1Fun[] called Derived2Fun[] called8
Hello Geeks GeeksforGeeks0
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }0
class child_class_name { use trait_name; ... ... child_class functions }8
BaseFun[] called Derived1Fun[] called Derived2Fun[] called8
Hello Geeks GeeksforGeeks0
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }0
class child_class_name { use trait_name; ... ... child_class functions }1
Hello Geeks GeeksforGeeks3
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
Hello Geeks GeeksforGeeks5
Hello Geeks GeeksforGeeks6
Hello Geeks GeeksforGeeks7
Hello Geeks GeeksforGeeks8
Hello Geeks GeeksforGeeks5
class child_class_name extends parent_class_name implements interface_name1, ...0
Hello Geeks GeeksforGeeks5
class child_class_name extends parent_class_name implements interface_name1, ...2
Hello Geeks GeeksforGeeks5
class child_class_name extends parent_class_name implements interface_name1, ...4
class child_class_name extends parent_class_name implements interface_name1, ...5
Output:
Hello Geeks GeeksforGeeks
Trong chương trình trên, các đặc điểm, đã được sử dụng cùng với lớp cha. Có một lớp học có tên là Geeks, có chứa hàm Sayhello [] và một đặc điểm của người Hồi Kiểm tra và sử dụng nó, chúng tôi đang gọi tất cả các chức năng của một lớp và một đặc điểm.
Đặc điểm [sử dụng nhiều đặc điểm]: Nhiều đặc điểm có thể được chèn 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.
Syntax:
class child_class_name extends parent_class_name implements interface_name1, ...
Example:
BaseFun[] called Derived1Fun[] called Derived2Fun[] called0
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }4
BaseFun[] called Derived1Fun[] called Derived2Fun[] called2
BaseFun[] called Derived1Fun[] called Derived2Fun[] called1
I am in interface C I am in interface B I am in inherited class6
BaseFun[] called Derived1Fun[] called Derived2Fun[] called3
class child_class_name { use trait_name; ... ... child_class functions }2
I am in interface C I am in interface B I am in inherited class9
BaseFun[] called Derived1Fun[] called Derived2Fun[] called7
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
BaseFun[] called Derived1Fun[] called Derived2Fun[] called3
class child_class_name { use trait_name; ... ... child_class functions }2
class child_class_name { use trait_name; ... ... child_class functions }3
BaseFun[] called Derived1Fun[] called Derived2Fun[] called3
BaseFun[] called Derived1Fun[] called Derived2Fun[] called4
BaseFun[] called Derived1Fun[] called Derived2Fun[] called5
class child_class_name { use trait_name; ... ... child_class functions }7
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
Trong chương trình trên, các đặc điểm của người Viking đã được sử dụng. Có hai đặc điểm có tên là Geek Geek, có chứa hàm Sayhello [] và Forgeeks, có chứa chức năng GeekSforGeeks [] và có một lớp con mẫu mẫu và chúng tôi đang tạo đối tượng của lớp này có tên là thử nghiệm và sử dụng nó Chúng tôi đang gọi tất cả các chức năng của các đặc điểm.
Giao diện [sử dụng lớp cùng với giao diện]: cú pháp:
BaseFun[] called Derived1Fun[] called Derived2Fun[] called1
BaseFun[] called Derived1Fun[] called Derived2Fun[] called27
BaseFun[] called Derived1Fun[] called Derived2Fun[] called32
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
class child_class_name { use trait_name; ... ... child_class functions }1
BaseFun[] called Derived1Fun[] called Derived2Fun[] called4
BaseFun[] called Derived1Fun[] called Derived2Fun[] called5
BaseFun[] called Derived1Fun[] called Derived2Fun[] called31
BaseFun[] called Derived1Fun[] called Derived2Fun[] called32
BaseFun[] called Derived1Fun[] called Derived2Fun[] called8
BaseFun[] called Derived1Fun[] called Derived2Fun[] called34
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }0
BaseFun[] called Derived1Fun[] called Derived2Fun[] called32
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
BaseFun[] called Derived1Fun[] called Derived2Fun[] called72
Hello Geeks GeeksforGeeks6
Hello Geeks GeeksforGeeks7
BaseFun[] called Derived1Fun[] called Derived2Fun[] called75
BaseFun[] called Derived1Fun[] called Derived2Fun[] called72
BaseFun[] called Derived1Fun[] called Derived2Fun[] called77
BaseFun[] called Derived1Fun[] called Derived2Fun[] called72
BaseFun[] called Derived1Fun[] called Derived2Fun[] called79
BaseFun[] called Derived1Fun[] called Derived2Fun[] called72
BaseFun[] called Derived1Fun[] called Derived2Fun[] called81
class child_class_name extends parent_class_name implements interface_name1, ...5
Output:
I am in class A I am in interface I am in inherited class
Trong giao diện chương trình trên, B B B đã được sử dụng cùng với lớp A A A để thực hiện nhiều kế thừa. Điểm quan trọng cần nhớ là, nó có thể xác định chức năng bên trong giao diện, nó nên được xác định bên trong lớp con. Chúng tôi đang gọi tất cả các chức năng bằng cách sử dụng đối tượng lớp con [nhiều] có tên là Geek Geek.
Giao diện [sử dụng nhiều giao diện]:
Syntax:
class child_class_name implements interface_name1, interface_name2, ...
Example:
BaseFun[] called Derived1Fun[] called Derived2Fun[] called0
BaseFun[] called Derived1Fun[] called Derived2Fun[] called39
BaseFun[] called Derived1Fun[] called Derived2Fun[] called85
class child_class_name { use trait_name; ... ... child_class functions }1
BaseFun[] called Derived1Fun[] called Derived2Fun[] called4
BaseFun[] called Derived1Fun[] called Derived2Fun[] called5
BaseFun[] called Derived1Fun[] called Derived2Fun[] called89
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
BaseFun[] called Derived1Fun[] called Derived2Fun[] called39
BaseFun[] called Derived1Fun[] called Derived2Fun[] called40
class child_class_name { use trait_name; ... ... child_class functions }1
BaseFun[] called Derived1Fun[] called Derived2Fun[] called4
BaseFun[] called Derived1Fun[] called Derived2Fun[] called5
BaseFun[] called Derived1Fun[] called Derived2Fun[] called44
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
BaseFun[] called Derived1Fun[] called Derived2Fun[] called1
BaseFun[] called Derived1Fun[] called Derived2Fun[] called47
BaseFun[] called Derived1Fun[] called Derived2Fun[] called50
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }01
BaseFun[] called Derived1Fun[] called Derived2Fun[] called32
BaseFun[] called Derived1Fun[] called Derived2Fun[] called5
BaseFun[] called Derived1Fun[] called Derived2Fun[] called54
BaseFun[] called Derived1Fun[] called Derived2Fun[] called55
BaseFun[] called Derived1Fun[] called Derived2Fun[] called8
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }07
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }0
BaseFun[] called Derived1Fun[] called Derived2Fun[] called32
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
BaseFun[] called Derived1Fun[] called Derived2Fun[] called32
BaseFun[] called Derived1Fun[] called Derived2Fun[] called5
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }13
BaseFun[] called Derived1Fun[] called Derived2Fun[] called55
BaseFun[] called Derived1Fun[] called Derived2Fun[] called8
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }16
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }0
BaseFun[] called Derived1Fun[] called Derived2Fun[] called32
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
BaseFun[] called Derived1Fun[] called Derived2Fun[] called32
BaseFun[] called Derived1Fun[] called Derived2Fun[] called4
BaseFun[] called Derived1Fun[] called Derived2Fun[] called5
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }23
BaseFun[] called Derived1Fun[] called Derived2Fun[] called32
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }25
BaseFun[] called Derived1Fun[] called Derived2Fun[] called55
BaseFun[] called Derived1Fun[] called Derived2Fun[] called8
BaseFun[] called Derived1Fun[] called Derived2Fun[] called67
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }0
BaseFun[] called Derived1Fun[] called Derived2Fun[] called32
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }2
BaseFun[] called Derived1Fun[] called Derived2Fun[] called72
Hello Geeks GeeksforGeeks6
Hello Geeks GeeksforGeeks7
BaseFun[] called Derived1Fun[] called Derived2Fun[] called75
BaseFun[] called Derived1Fun[] called Derived2Fun[] called72
class child_class_name extends parent_class_name { use trait_name; ... ... child_class functions }38
BaseFun[] called Derived1Fun[] called Derived2Fun[] called72
BaseFun[] called Derived1Fun[] called Derived2Fun[] called79
BaseFun[] called Derived1Fun[] called Derived2Fun[] called72
BaseFun[] called Derived1Fun[] called Derived2Fun[] called81
class child_class_name extends parent_class_name implements interface_name1, ...5
Output:
I am in interface C I am in interface B I am in inherited class
Trong chương trình trên, nhiều giao diện đã được sử dụng để thực hiện nhiều kế thừa. Trong ví dụ trên, có hai giao diện có tên là B B B. và C C, những người đang đóng vai trò của các lớp cơ sở và có lớp con có tên là nhiều người và chúng tôi đang gọi tất cả các chức năng bằng cách sử dụng đối tượng của nó có tên là Geek Geek.
PHP là ngôn ngữ kịch bản phía máy chủ được thiết kế dành riêng cho phát triển web. Bạn có thể học PHP từ đầu bằng cách làm theo hướng dẫn PHP và các ví dụ PHP này.