Thừa kế đơn so với nhiều kế thừa

Tác Giả: Laura McKinney
Ngày Sáng TạO: 4 Tháng Tư 2021
CậP NhậT Ngày Tháng: 15 Có Thể 2024
Anonim
#44 [C++]. Kế Thừa Trong C++ | Ghi Đè Hàm | Đa Kế Thừa | Kế Thừa Nhiều Mức
Băng Hình: #44 [C++]. Kế Thừa Trong C++ | Ghi Đè Hàm | Đa Kế Thừa | Kế Thừa Nhiều Mức

NộI Dung

Sự khác biệt chính giữa thừa kế đơn và nhiều thừa kế là trong thừa kế đơn, lớp dẫn xuất chỉ kế thừa một lớp cơ sở duy nhất trong khi, trong nhiều kế thừa, lớp dẫn xuất thừa hưởng nhiều hơn một lớp cơ sở.


Kế thừa là một trong những khái niệm quan trọng nhất trong OOP là lập trình hướng đối tượng. Khái niệm về tái sử dụng được hỗ trợ trong thừa kế. Khả năng sử dụng lại có nghĩa là lớp mới sử dụng lại các thuộc tính của lớp đã tồn tại. Trong lớp dẫn xuất kế thừa kế thừa lớp cơ sở và quyền truy cập, bộ xác định quyết định thành viên lớp cơ sở nào sẽ được kế thừa. Có các loại thừa kế là một thừa kế duy nhất, thừa kế phân cấp, thừa kế đa cấp và thừa kế lai. Trong thừa kế đơn, lớp dẫn xuất chỉ kế thừa một lớp cơ sở duy nhất trong khi đó, trong nhiều kế thừa, lớp dẫn xuất thừa hưởng nhiều hơn một lớp cơ sở.

Chỉ có một lớp dẫn xuất duy nhất được kế thừa từ lớp cơ sở. Có ba cách để kế thừa lớp cơ sở là công khai, được bảo vệ và riêng tư. Access specifier được sử dụng để kế thừa lớp cơ sở. Lý do cho sự kế thừa duy nhất là để kế thừa các thuộc tính và hành vi từ một lớp cha mẹ duy nhất. Mục đích chính của lập trình hướng đối tượng là khả năng sử dụng lại mã được thực hiện bằng cách sử dụng kế thừa duy nhất. Nếu chúng ta nói về thừa kế đơn lẻ so với nhiều thừa kế hơn, thì thừa kế đơn lẻ phải dễ dàng hơn so với nhiều thừa kế. Chức năng ghi đè được sử dụng trong kế thừa đơn. Đa hình thời gian chạy được gọi là ghi đè. Ghi đè được thực hiện bằng cách sử dụng một từ khóa chức năng là ảo. Từ khóa này được sử dụng trong lớp cơ sở. Khi lớp dẫn xuất xác định lại một hàm, hàm bị ghi đè có thể được thay đổi. Ghi đè trong C ++ xác định phiên bản nào của hàm được gọi. Kế thừa đơn được sử dụng trong C ++, Java, PHP, C # và cơ sở trực quan.


Nhiều kế thừa cho phép lấy được nhiều hơn một lớp cơ sở, điều đó có nghĩa là bạn có thể có được các thuộc tính của nhiều hơn một lớp cơ sở. Chúng ta có thể có một lớp dẫn xuất và nhiều lớp cơ sở. Lớp cơ sở được kế thừa bằng cách đề cập đến bộ xác định truy cập riêng. Nhiều kế thừa có sự hợp nhất đối xứng và mở rộng không đối xứng. Khi có mẫu bộ điều hợp nhiều kế thừa được sử dụng. Nhiều kế thừa được sử dụng trong C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp, Tcl. Việc thực thi mã cho nhiều kế thừa là phức tạp so với kế thừa đơn.

Nội dung: Sự khác biệt giữa Kế thừa đơn và Đa kế thừa

  • Biểu đồ so sánh
  • Kế thừa đơn
  • Đa kế thừa
  • Sự khác biệt chính
  • Phần kết luận
  • Video giải thích

Biểu đồ so sánh

Nền tảngKế thừa đơnĐa kế thừa
Ý nghĩa Trong thừa kế đơn, lớp dẫn xuất chỉ kế thừa một lớp cơ sở duy nhất

Trong nhiều kế thừa, lớp dẫn xuất kế thừa nhiều hơn một lớp cơ sở.


 

An toànThừa kế đơn lẻ an toàn hơn nhiều thừa kếNhiều kế thừa không an toàn để thực hiện
Truy cậpTrong các tính năng kế thừa duy nhất của một lớp duy nhất được kế thừaTrong nhiều tính năng kế thừa của nhiều lớp có thể được kế thừa
Thời gian chạy Kế thừa đơn đòi hỏi nhiều thời gian chạyNhiều kế thừa đòi hỏi ít thời gian chạy

Kế thừa đơn

Chỉ có một lớp dẫn xuất duy nhất được kế thừa từ lớp cơ sở. Có ba cách để kế thừa lớp cơ sở là công khai, được bảo vệ và riêng tư. Access specifier được sử dụng để kế thừa lớp cơ sở. Lý do cho sự kế thừa duy nhất là để kế thừa các thuộc tính và hành vi từ một lớp cha mẹ duy nhất. Mục đích chính của lập trình hướng đối tượng là khả năng sử dụng lại mã được thực hiện bằng cách sử dụng kế thừa duy nhất. Nếu chúng ta nói về thừa kế đơn lẻ so với nhiều thừa kế hơn, thì thừa kế đơn lẻ phải dễ dàng hơn so với nhiều thừa kế. Chức năng ghi đè được sử dụng trong kế thừa đơn. Đa hình thời gian chạy được gọi là ghi đè. Ghi đè được thực hiện bằng cách sử dụng một từ khóa chức năng là ảo. Từ khóa này được sử dụng trong lớp cơ sở. Khi lớp dẫn xuất xác định lại một hàm, hàm bị ghi đè có thể được thay đổi. Ghi đè trong C ++ xác định phiên bản nào của hàm được gọi. Kế thừa đơn được sử dụng trong C ++, Java, PHP, C # và cơ sở trực quan.

Đa kế thừa

Nhiều kế thừa cho phép lấy được nhiều hơn một lớp cơ sở, điều đó có nghĩa là bạn có thể có được các thuộc tính của nhiều hơn một lớp cơ sở. Chúng ta có thể có một lớp dẫn xuất và nhiều lớp cơ sở. Lớp cơ sở được kế thừa bằng cách đề cập đến bộ xác định truy cập riêng. Nhiều kế thừa có sự hợp nhất đối xứng và mở rộng không đối xứng. Khi có một mẫu bộ điều hợp, nhiều kế thừa được sử dụng. Nhiều kế thừa được sử dụng trong C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp, Tcl. Việc thực thi mã cho nhiều kế thừa là phức tạp so với kế thừa đơn.

Sự khác biệt chính

  1. Trong thừa kế đơn, lớp dẫn xuất chỉ kế thừa một lớp cơ sở duy nhất trong khi đó, trong nhiều kế thừa, lớp dẫn xuất thừa hưởng nhiều hơn một lớp cơ sở.
  2. Kế thừa đơn lẻ an toàn hơn nhiều kế thừa trong khi nhiều kế thừa không an toàn để thực hiện.
  3. Trong các tính năng thừa kế đơn của một lớp được kế thừa trong khi trong nhiều tính năng thừa kế của nhiều lớp có thể được kế thừa.
  4. Kế thừa đơn đòi hỏi nhiều thời gian chạy hơn trong khi nhiều kế thừa đòi hỏi ít thời gian chạy hơn

Phần kết luận

Trong bài viết này ở trên, chúng tôi thấy sự khác biệt rõ ràng giữa thừa kế đơn và nhiều kế thừa với việc thực hiện

Video giải thích