Kế thừa và thừa kế khác nhau như thế nào

Chủ YếU / sự khác biệt giữa / Sự khác biệt giữa đơn thừa kế và đa kế thừa

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

  • 2019

Kế thừa hỗ trợ mạnh mẽ cho khái niệm tái sử dụng tức là lớp mới được tạo lại sử dụng lại các thuộc tính của những cái đã tồn tại. Trình xác định truy cập quyết định cách thức mà thành viên lớp cơ sở sẽ được kế thừa bởi lớp dẫn xuất. Có nhiều cách để đạt được sự kế thừa đơn, nhiều, Phân cấp, Đa cấp, Lai. Trong khi chủ đề thảo luận chính của chúng tôi là sự khác biệt giữa thừa kế đơn và đa. Trong thừa kế đơn lẻ, chúng ta chỉ có một lớp cơ sở được kế thừa bởi chỉ một lớp dẫn xuất. Trong nhiều kế thừa, chúng ta có nhiều hơn hai lớp cơ sở được kế thừa hoàn toàn chỉ bởi một lớp dẫn xuất.


Biểu đồ so sánh

Cơ sở để so sánhKế thừa đơnĐa kế thừa
Căn bảnLớp phái sinh kế thừa một lớp cơ sở duy nhất.Lớp phái sinh kế thừa hai hoặc nhiều hơn hai lớp cơ sở.
Thực hiệnLớp origin_group: lớp cơ sở access_specifierLớp dẫn xuất _ class: access_specifier base_group1, access_specifier base_group2, ....
Truy cập
Lớp dẫn xuất truy cập các tính năng của lớp cơ sở duy nhấtLớp dẫn xuất truy cập các tính năng kết hợp của các lớp cơ sở được kế thừa
Tầm nhìnCông cộng, tư nhân, được bảo vệCông cộng, tư nhân, được bảo vệ
Thời gian chạyYêu cầu số lượng nhỏ thời gian chạy qua đầuYêu cầu thêm thời gian chạy so với kế thừa đơn

Định nghĩa kế thừa đơn

Trong kế thừa đơn, có một lớp cơ sở duy nhất và một lớp dẫn xuất duy nhất. Lớp phái sinh kế thừa lớp cơ sở hoặc công khai, bảo vệ và riêng tư. Các thành viên của lớp cơ sở có thể được truy cập bởi lớp dẫn xuất theo chỉ định truy cập được chỉ định trong khi kế thừa lớp cơ sở.

Chúng ta hãy có một ví dụ thực tế, chúng ta có hai lớp, một lớp tài khoản và một lớp tài khoản tiết kiệm, Ở đây, lớp tài khoản tiết kiệm, có thể kế thừa tính năng của lớp tài khoản, do đó, lớp tài khoản của lớp Cameron sẽ trở thành lớp cơ sở / siêu / lớp phụ để lưu lớp tài khoản và lớp tài khoản tiết kiệm của bạn sẽ là lớp dẫn xuất.

Ở đây, các thuộc tính của lớp tài khoản có tên là acc_no [riêng tư] và số dư [công khai] và các hàm thành viên được khởi tạo [], get_accno [] là công khai. Bây giờ, lớp tài khoản của Cameron được nhận thừa kế vào lớp tài khoản tiết kiệm của Google, vì vậy, tất cả thành viên công khai của lớp tài khoản có thể được truy cập trực tiếp bởi lớp tài khoản tiết kiệm của bạn. Nó có thể truy cập vào thành viên riêng của lớp tài khoản của người dùng thông qua các chức năng thành viên công cộng của lớp tài khoản của Google nhưng không thể truy cập trực tiếp vào họ.

Thực hiện kế thừa đơn:

# bao gồm sử dụng không gian tên std; Tài khoản lớp {int acc_no, ; công: cân bằng phao; void khởi tạo [int x, int y] {acc_no = x; số dư = y; } int get_accno. [] {return acc_no; }}; lớp Saving_acc: Tài khoản công cộng {float intrest_rate; công khai: // hàm tạo của lớp Saving_acc Saving_acc [int c] {Interest_rate = c; } void display [] {cout <

Video liên quan

Chủ Đề