Sự khác biệt giữa thừa kế đa cấp và đa cấp

Sự khác biệt chính - Kế thừa nhiều so với đa cấp
 

Lập trình hướng đối tượng (OOP) là một mô hình để thiết kế chương trình bằng các lớp và phương thức. Các kịch bản trong thế giới thực có thể được ánh xạ tới các đối tượng. Do đó, thật dễ dàng để xây dựng các giải pháp phần mềm. Một lớp là một kế hoạch chi tiết để xây dựng một đối tượng. Nó chứa các thuộc tính và phương thức. Ví dụ, trước khi tạo một đối tượng sinh viên, cần có một sinh viên lớp với các thuộc tính và phương thức. Một sinh viên có thể có các thuộc tính như id sinh viên, tên và phương pháp như đọc, viết, nghiên cứu. Các phương thức mô tả hành vi trong khi các thuộc tính là các thuộc tính. Sau khi tạo lớp, có thể tạo các đối tượng bằng cách sử dụng chúng. Tạo đối tượng còn được gọi là Đối tượng tức thời. Đối tượng không tồn tại trong sự cô lập. Chúng giao tiếp với các đối tượng khác và dữ liệu được truyền trong các đối tượng. Một trụ cột của OOP là Kế thừa. Mục đích của Kế thừa là để tăng khả năng sử dụng lại mã. Nó tạo ra một lớp thuộc tính và phương thức mới của lớp đã tồn tại. Lớp hiện có được gọi là lớp cơ sở và lớp mới được gọi là lớp dẫn xuất. Đa kế thừa và thừa kế đa cấp là các kiểu thừa kế. Bài viết này thảo luận về sự khác biệt giữa chúng. Các sự khác biệt chính giữa thừa kế đa cấp và đa cấp là Đa kế thừa là khi một lớp kế thừa từ nhiều lớp cơ sở trong khi Kế thừa đa cấp là khi một lớp kế thừa từ một lớp dẫn xuất làm cho lớp dẫn xuất đó trở thành một lớp cơ sở cho một lớp mới.

NỘI DUNG

1. Tổng quan và sự khác biệt chính
2. Đa kế thừa là gì
3. Kế thừa đa cấp là gì
4. Điểm tương đồng giữa thừa kế đa cấp và đa cấp
5. So sánh cạnh nhau - Kế thừa nhiều cấp so với đa dạng ở dạng bảng
6. Tóm tắt

Đa kế thừa là gì?

Đa kế thừa là khi một lớp kế thừa nhiều hơn một lớp cơ sở.

Hình 01: Đa kế thừa

A B và C là các lớp. A và B là các lớp cơ sở và C là lớp dẫn xuất. Lớp C phải quản lý sự phụ thuộc của cả hai lớp cơ sở A và B. Nhiều kế thừa không được sử dụng rộng rãi trong các dự án phần mềm. Nó làm cho hệ thống phức tạp hơn vì một lớp đang kế thừa nhiều lớp.

Ví dụ, giả sử rằng cả lớp A và B đều có một phương thức có cùng tên là sum () và lớp C đang dẫn xuất cả hai lớp. Sau khi tạo một đối tượng kiểu C và gọi phương thức sum (), nó có thể gây ra lỗi vì cả hai lớp có cùng một phương thức. Trình biên dịch không biết nên gọi hàm nào. Do đó, Đa kế thừa làm tăng sự phức tạp của một hệ thống. Đa kế thừa được hỗ trợ trong ngôn ngữ C ++ nhưng các ngôn ngữ như Java, C # không hỗ trợ Đa kế thừa. Thay vào đó, các ngôn ngữ này sử dụng giao diện tương tự như một lớp nhưng không thể khởi tạo được.

Kế thừa đa cấp là gì?

Kế thừa đa cấp là khi một lớp kế thừa từ một lớp dẫn xuất làm cho lớp dẫn xuất đó trở thành một lớp cơ sở cho một lớp mới.

Hình 02: Kế thừa đa cấp

Kế thừa đa cấp có ba cấp độ. Lớp trung gian mà B kế thừa từ lớp A và lớp C kế thừa từ lớp B. A là lớp cơ sở cho B và B là lớp cơ sở cho C.

Một chương trình thực hiện Kế thừa đa cấp như sau. Chương trình được viết bằng Java.

Hình 03: Chương trình thực hiện Kế thừa đa cấp

Theo chương trình trên, lớp A là lớp cơ sở cho lớp B. Lớp B là lớp cơ sở cho lớp C. Tất cả các thuộc tính và phương thức của lớp A có thể truy cập được bởi lớp B. Tất cả các thuộc tính và phương thức của lớp B có thể truy cập theo lớp C. Do đó, lớp C có thể truy cập các thuộc tính và phương thức của cả A và B. Khi tạo một đối tượng thuộc loại C, có thể gọi cả ba phương thức A (), B () và C (). Đầu ra sẽ cho A, B, C.

Điểm giống nhau giữa thừa kế đa cấp và đa cấp?

  • Cả hai đều là kiểu thừa kế.

Sự khác biệt giữa thừa kế đa cấp và đa cấp?

Đa kế thừa so với kế thừa nhiều cấp

Đa kế thừa là một kiểu thừa kế trong đó một lớp kế thừa từ nhiều hơn một lớp cơ sở. Kế thừa đa cấp là một kiểu Kế thừa kế thừa từ một lớp dẫn xuất, làm cho lớp dẫn xuất đó trở thành một lớp cơ sở cho một lớp mới.
 Sử dụng
Đa kế thừa không được sử dụng rộng rãi vì nó làm cho hệ thống phức tạp hơn. Kế thừa đa cấp được sử dụng rộng rãi.
Cấp độ lớp học
Đa kế thừa có hai cấp lớp là lớp cơ sở và lớp dẫn xuất. Kế thừa đa cấp có ba cấp lớp là lớp cơ sở, lớp trung gian và lớp dẫn xuất.

Tóm lược - Kế thừa nhiều so với đa cấp

Kế thừa là một trụ cột chính của lập trình hướng đối tượng. Có nhiều loại khác nhau của Thừa kế; chúng là Kế thừa cấp đơn, Kế thừa đa cấp, Đa kế thừa, Kế thừa phân cấp và Kế thừa lai. Kế thừa cấp đơn có một lớp cơ sở và một lớp dẫn xuất. Kế thừa phân cấp có một lớp cơ sở và nhiều lớp dẫn xuất. Kế thừa lai là sự kết hợp của Đa cấp và Đa kế thừa. Bài viết này mô tả sự khác biệt giữa Đa kế thừa và Đa cấp kế thừa. Sự khác biệt giữa thừa kế Nhiều và Đa cấp là Đa kế thừa là khi một lớp kế thừa từ nhiều lớp cơ sở trong khi Kế thừa đa cấp là khi một lớp kế thừa từ lớp dẫn xuất, biến lớp dẫn xuất đó thành lớp cơ sở cho lớp mới. Kế thừa đa cấp được sử dụng rộng rãi hơn Đa kế thừa.

Tải xuống bản kế thừa nhiều bản PDF

Bạn có thể tải xuống phiên bản PDF của bài viết này và sử dụng nó cho mục đích ngoại tuyến theo ghi chú trích dẫn. Vui lòng tải xuống phiên bản PDF tại đây Sự khác biệt giữa Kế thừa nhiều cấp và đa cấp

Tài liệu tham khảo:

1.Singh, Chaitanya, et al. Các kiểu kế thừa trong Java: Đơn, Nhiều, Đa cấp & Kết hợp. Beginnersbook.com, ngày 6 tháng 12 năm 2013. Có sẵn tại đây
2.tutorialspoint.com. Kế thừa Java Java. Điểm. Có sẵn ở đây 

Hình ảnh lịch sự:

1.'Multipl thừa kế'By Suman Maverick Gangulian Suman420 - Công việc riêng, (CC BY 3.0) qua Commons Wikimedia 
2.'Multilevel thừa kế'By Tác giả: Suman Maverick Gangulian Suman420 (thảo luận) 12:03, ngày 2 tháng 3 năm 2015 (UTC) - Công việc riêng, (CC BY 3.0) qua Commons Wikimedia