Hướng dẫn why multiple inheritance is not supported in php - tại sao đa kế thừa không được hỗ trợ trong php

13

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tại sao nhiều kế thừa không được hỗ trợ trong hầu hết ngôn ngữ lập trình?

Tôi thực sự có thể sử dụng tính năng này để phát triển bố cục ứng dụng khác nhau?

Danben

78.7K18 Huy hiệu vàng120 Huy hiệu bạc144 Huy hiệu đồng18 gold badges120 silver badges144 bronze badges

Khi được hỏi ngày 16 tháng 5 năm 2010 lúc 12:39May 16, 2010 at 12:39

7

Nhiều kế thừa hữu ích trong nhiều tình huống như một nhà phát triển, nhưng nó làm tăng đáng kể sự phức tạp của ngôn ngữ, điều này làm cho cuộc sống khó khăn hơn cho cả nhà phát triển trình biên dịch và các lập trình viên.

  • Một vấn đề xảy ra khi hai lớp cha có thành viên dữ liệu hoặc phương thức cùng tên. Thật khó để giải quyết được tham chiếu bởi lớp con.

  • Một điều khác xảy ra khi hai lớp mẹ kế thừa từ cùng một lớp cơ sở, tạo thành một mẫu "kim cương" trong hệ thống phân cấp kế thừa.

  • Thứ tự mà việc khởi tạo/xây dựng của các lớp phụ huynh cần được chỉ định - điều này đôi khi có thể dẫn đến thay đổi hành vi khi thứ tự của sự kế thừa thay đổi - điều gì đó có thể khiến các nhà phát triển bất ngờ.

  • Một số ngôn ngữ hỗ trợ tham chiếu đến 'siêu' hoặc tương đương, đề cập đến một thuộc tính của lớp cơ sở cho đối tượng này. Điều đó trở nên khó hỗ trợ trong một ngôn ngữ với nhiều kế thừa.

  • Một số ngôn ngữ cố gắng cung cấp một mô hình liên quan đến đối tượng tự động, vì vậy các đối tượng có thể được thực hiện liên tục với một RDM thông thường. Bản đồ này khó khăn vào thời điểm tốt nhất [nó được mô tả là "Chiến tranh Việt Nam" phát triển phần mềm], nhưng sẽ khó khăn hơn nhiều nếu hỗ trợ nhiều kế thừa.

Đã trả lời ngày 16 tháng 5 năm 2010 lúc 12:45May 16, 2010 at 12:45

OddthinkingOdDthinkingOddthinking

23.4K19 Huy hiệu vàng82 Huy hiệu bạc120 Huy hiệu đồng19 gold badges82 silver badges120 bronze badges

Một lý do để không hỗ trợ nó là sự mơ hồ của giải quyết phương pháp.

//en.wikipedia.org/wiki/Diamond_problem

Tuy nhiên, tôi không chắc ý bạn là gì bởi các ngôn ngữ lập trình "nhất". Nhiều người được sử dụng ngày nay hỗ trợ trực tiếp [C ++, Python, Perl, OCAML] hoặc có cơ chế cho chức năng tương tự [Ruby và Scala xuất hiện trong tâm trí].

Đã trả lời ngày 16 tháng 5 năm 2010 lúc 12:43May 16, 2010 at 12:43

Danbendanbendanben

78.7K18 Huy hiệu vàng120 Huy hiệu bạc144 Huy hiệu đồng18 gold badges120 silver badges144 bronze badges

0

Khi được hỏi ngày 16 tháng 5 năm 2010 lúc 12:39

Nhiều kế thừa hữu ích trong nhiều tình huống như một nhà phát triển, nhưng nó làm tăng đáng kể sự phức tạp của ngôn ngữ, điều này làm cho cuộc sống khó khăn hơn cho cả nhà phát triển trình biên dịch và các lập trình viên.

Một vấn đề xảy ra khi hai lớp cha có thành viên dữ liệu hoặc phương thức cùng tên. Thật khó để giải quyết được tham chiếu bởi lớp con.

Một điều khác xảy ra khi hai lớp mẹ kế thừa từ cùng một lớp cơ sở, tạo thành một mẫu "kim cương" trong hệ thống phân cấp kế thừa.Jun 24, 2015 at 11:32

1

Giới thiệu về nhiều kế thừa trong PHPIntroduction to Multiple Inheritance in PHP

Nhiều kế thừa là một trong những thuộc tính tốt nhất của các ngôn ngữ lập trình hướng đối tượng như PHP trong đó lớp con hoặc lớp có thể kế thừa/kế thừa các thuộc tính của nhiều lớp siêu lớp hoặc nhiều lớp cha. 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ó.

Traits:

Đặ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. Đặc điểm chỉ mở rộng nhiều đặc điểm cùng một lúc nhưng có thể mở rộng nhiều hơn một lớp.

Syntax:

class child_class extends parent_class{
use trait name;
..
..
Child_class function/functions
}

Làm thế nào để nhiều kế thừa hoạt động trong PHP?

Nhiều kế thừa hoạt động bằng cách kế thừa các thuộc tính của nhiều lớp siêu hoặc lớp cha cho một lớp con hoặc lớp con, v.v. Nhiều kế thừa không hoạt động trực tiếp nhưng nó có thể hoạt động bằng cách sử dụng khái niệm đặc điểm.

Ví dụ về & nbsp; nhiều kế thừa trong PHP

Dưới đây là các ví dụ về nhiều kế thừa trong PHP:

Ví dụ 1

Trong ví dụ dưới đây về chương trình, các đặc điểm của người Hồi giáo được sử dụng cùng với lớp cha. Ở đây có một lớp có tên là pavan pavan có chức năng Sayhihello [] và cũng là một đặc điểm của người Hồi Hiện tại, chúng tôi đang ở đây tạo ra đối tượng của lớp với tên là Test Test và hiện đang sử dụng nó để gọi tất cả các chức năng của đặc điểm và lớp.

Code:

Output:

Ví dụ #2

Liệt kê các đặc điểm bằng cách chèn chúng vào lớp trong câu lệnh sử dụng và nó cũng được phân tách bằng dấu phẩy. Trong các ví dụ chương trình dưới đây, các ví dụ, các đặc điểm của Hồi giáo được sử dụng. Chỉ có hai đặc điểm với cái tên là Pav Pavan, có chức năng gọi là Sayhihello [] và Hồi Forpavan, có chức năng pavanfornaruto [] và cũng có một lớp con tên là Mẫu mẫu hiện tại chúng ta đang tạo đối tượng lớp với đối tượng với Tên Test Thử nghiệm và gọi tất cả các chức năng đặc điểm.

Code:

Output:

Ví dụ #3

Đây là chương trình giao diện. Ví dụ dưới đây được thực hiện bằng cách sử dụng lớp cùng với giao diện. Trong giao diện chương trình dưới đây, B1 B1 đã được sử dụng với lớp A1 A1 để thực hiện nhiều kế thừa. Điểm quan trọng chính để nhớ là nó có thể được xác định bởi chức năng bên trong giao diện. Nó sẽ được/nên được xác định bên trong lớp con. Không ai có thể gọi tất cả các chức năng khác bằng cách sử dụng lớp con có nhiều với tên đối tượng là Pavan Pavan.

Code:

Output:

Ví dụ #4

Trong chương trình ví dụ dưới đây, có nhiều giao diện rất hữu ích trong việc thực hiện nhiều kế thừa. Trong ví dụ của chương trình PHP được liệt kê dưới đây, có hai giao diện có tên là B1 B1 và ​​C1, thực sự đóng vai trò của các lớp cơ sở và luôn có một lớp con với tên gọi tất cả các chức năng khác bằng cách sử dụng đối tượng Pavan Pavan.

Code:

Output:

Ví dụ #5

Trong ví dụ dưới đây của chương trình kế thừa đa php, chúng tôi thực sự đang sử dụng tính trạng của Google để cho phép các tính năng di truyền đa năng. Thuật ngữ sử dụng của người Viking là để sử dụng chức năng của đặc điểm của người Viking. Lớp compName1 cho thấy cách bắt đầu sử dụng tính trạng của Cameron.

Code:

Output:

Ví dụ #6

Đây là một chương trình PHP đơn giản là minh họa cách sử dụng lớp với các đặc điểm. Đặc điểm về cơ bản là một loại lớp giúp cho phép khái niệm di truyền nhiều. Các lớp học, đặc điểm và các đối tượng don don mở rộng hơn một lớp/nhiều hơn một lớp, nhưng ở đây nó có thể mở rộng đến nhiều đặc điểm cùng một lúc. Trong ví dụ này, các đặc điểm thực sự được sử dụng với lớp cha. Nó cũng có lớp ENFITANCE1 có hàm với tên example1 [], tính trạng formultiple1 có hàm gọi là exclem1 [] và với tên lớp con là mẫu mẫu1 để tạo đối tượng của lớp Check Check1. các chức năng của đặc điểm và lớp học.

Code:

Output:

Bài viết đề xuất

Đây là một hướng dẫn cho nhiều kế thừa trong PHP. Ở đây chúng tôi thảo luận về cách nhiều kế thừa hoạt động trong PHP và các ví dụ của nó cùng với việc triển khai mã.

  1. Lập trình ổ cắm trong PHP
  2. Khung PHP
  3. Tìm kiếm mảng PHP
  4. Php & nbsp; ghi tệp

Tại sao nhiều kế thừa không được hỗ trợ?

Java không hỗ trợ nhiều kế thừa trong các lớp vì nó có thể dẫn đến vấn đề kim cương và thay vì cung cấp một số cách phức tạp để giải quyết nó, có những cách tốt hơn để chúng ta có thể đạt được kết quả tương tự như nhiều kế thừa.it can lead to diamond problem and rather than providing some complex way to solve it, there are better ways through which we can achieve the same result as multiple inheritances.

Là nhiều kế thừa được hỗ trợ trong PHP giải thích?

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. but 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.

Tại sao PHP là thừa kế đơn?

Di truyền đơn là một khái niệm trong PHP trong đó một lớp chỉ có thể được kế thừa bởi một lớp duy nhất.Chúng ta cần phải có hai lớp ở giữa quá trình này.Một là lớp cơ sở [lớp cha] và chính một lớp con.Hãy hiểu giống như một ví dụ.one class can be inherited by a single class only. We need to have two classes in between this process. One is the base class [parent class], and the other a child class itself. Let's understand the same with an example.

Những nhược điểm của nhiều kế thừa là gì?

Nhược điểm của nhiều kế thừa là nó có thể dẫn đến rất nhiều sự nhầm lẫn khi hai lớp cơ sở thực hiện một phương thức có cùng tên.it can lead to a lot of confusion when two base classes implement a method with the same name.

Bài Viết Liên Quan

Chủ Đề