Hướng dẫn write a program to implement multilevel inheritance in php - viết chương trình thực hiện kế thừa đa cấp trong php

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[] called
0

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
1
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
2

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
3
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
4
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
5
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
6

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
7
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
8
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
9
class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
0

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
3
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[] called
3
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
4
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
5
class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
9

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
7
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
8
Hello Geeks
GeeksforGeeks
2
class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
0

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
3
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[] called
1
Hello Geeks
GeeksforGeeks
8
Hello Geeks
GeeksforGeeks
9
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
2

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[] called
4
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
5
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[] called
8
Hello Geeks
GeeksforGeeks
0
class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
0

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
3
Hello Geeks
GeeksforGeeks
3

class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
2

Hello Geeks
GeeksforGeeks
5
Hello Geeks
GeeksforGeeks
6
Hello Geeks
GeeksforGeeks
7
Hello Geeks
GeeksforGeeks
8

Hello Geeks
GeeksforGeeks
5
class child_class_name extends parent_class_name implements interface_name1, ...
0

Hello Geeks
GeeksforGeeks
5
class child_class_name extends parent_class_name implements interface_name1, ...
2

Hello Geeks
GeeksforGeeks
5
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[] called
0

class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
4
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
2

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
3
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
4
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
5
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
6

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
7
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
8
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
9
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 class
9
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[] called
3
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
4
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
5
class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
9

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
7
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
8
Hello Geeks
GeeksforGeeks
2
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 class
9
class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
2

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
1
Hello Geeks
GeeksforGeeks
8
Hello Geeks
GeeksforGeeks
9
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
2

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[] called
4
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
5
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[] called
8
Hello Geeks
GeeksforGeeks
0
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[] called
8
Hello Geeks
GeeksforGeeks
0
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
GeeksforGeeks
3

class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
2

Hello Geeks
GeeksforGeeks
5
Hello Geeks
GeeksforGeeks
6
Hello Geeks
GeeksforGeeks
7
Hello Geeks
GeeksforGeeks
8

Hello Geeks
GeeksforGeeks
5
class child_class_name extends parent_class_name implements interface_name1, ...
0

Hello Geeks
GeeksforGeeks
5
class child_class_name extends parent_class_name implements interface_name1, ...
2

Hello Geeks
GeeksforGeeks
5
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[] called
0

class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
4
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
2

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
1
I am in interface C
I am in interface B
I am in inherited class
6

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
3
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 class
9

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
7
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[] called
3
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[] called
3
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
4
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
5
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[] called
1
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
27

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
32
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[] called
4
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
5
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
31

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
32
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
8
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
34
class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
0

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
32
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[] called
72
Hello Geeks
GeeksforGeeks
6
Hello Geeks
GeeksforGeeks
7
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
75

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
72
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
77

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
72
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
79

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
72
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
81

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[] called
0

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
39
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
85

class child_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
1
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
4
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
5
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
89

class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
2

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
39
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
40

class child_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
1
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
4
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
5
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
44

class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
2

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
1
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
47
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
50
class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
01

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
32
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
5
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
54

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
55
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
8
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[] called
32
class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
2

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
32
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
5
class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
13

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
55
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
8
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[] called
32
class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
2

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
32
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
4
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
5
class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
23

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
32
class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
25

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
55
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
8
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
67
class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
0

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
32
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[] called
72
Hello Geeks
GeeksforGeeks
6
Hello Geeks
GeeksforGeeks
7
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
75

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
72
class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}
38

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
72
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
79

BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
72
BaseFun[] called
Derived1Fun[] called
Derived2Fun[] called
81

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.


Làm thế nào chúng ta có thể thực hiện kế thừa đa cấp trong PHP?

PHP không hỗ trợ nhiều kế thừa nhưng 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 vì các lớp, chúng ta có thể thực hiện nó. Đặ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.by using Interfaces in PHP or using Traits in PHP instead of classes, we can implement it. Traits [Using Class along with Traits]: The trait is a type of class which enables multiple inheritance.

Kế thừa đa cấp Viết một chương trình để thực hiện kế thừa đa cấp là gì?

Đạo hàm của một lớp từ một lớp dẫn xuất khác được gọi là kế thừa đa cấp.Lớp A là lớp cơ sở cho lớp B dẫn xuất, lần lượt đóng vai trò là lớp cơ sở cho lớp C. Lớp B cung cấp một liên kết cho sự kế thừa giữa A và C và được gọi là lớp cơ sở trung gian. is called Multilevel Inheritance. Class A is the base class for the derived class B, which in turn serves as a base class for the derived class C. Class B provides a link for the inheritance between A and C and is known as an intermediate base class.

Kế thừa đa cấp với ví dụ lập trình là gì?

Di truyền đa cấp trong Java xảy ra khi một lớp mở rộng một lớp mở rộng lớp khác.Điều này được gọi là thừa kế đa cấp trong Java.Ví dụ: lớp C mở rộng lớp B và lớp B mở rộng lớp A.occurs when a class extends a class that extends another class. This is called multilevel Inheritance in java. For example, class C extends class B, and class B extends class A.

Tại sao nhiều kế thừa không được sử dụng trong PHP?

Ngôn ngữ lập trình PHP thậm chí không hỗ trợ nhiều kế thừa/thừa kế.PHP chỉ hỗ trợ nhiều 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ể thực hiện 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.. PHP supports multiple inheritances only by using interfaces or Traits in PHP instead of classes so that we can implement it. Traits are a type of class that enables multiple case classes, objects, classes, and traits.

Bài Viết Liên Quan

Chủ Đề