Trong lập trình hướng đối tượng (OOP), hệ thống được mô hình hóa bằng các đối tượng. Những đối tượng này được tạo bằng cách sử dụng một lớp. Một lớp là một bản thiết kế hoặc một mô tả để tạo ra một đối tượng. Tạo đối tượng còn được gọi là khởi tạo đối tượng. Mỗi đối tượng đang giao tiếp với các đối tượng khác. Một chương trình hoặc phần mềm có thể được phát triển bằng Lập trình hướng đối tượng. Kế thừa là một khái niệm chính trong OOP. Nó cải thiện khả năng sử dụng lại mã. Thay vì thực hiện một chương trình ngay từ đầu, nó cho phép kế thừa các thuộc tính và phương thức của lớp đã có sẵn sang một lớp mới. Nó giúp làm cho chương trình dễ quản lý hơn. Superclass và Sub class là hai thuật ngữ có liên quan đến thừa kế. Bài viết này thảo luận về sự khác biệt giữa Superclass và Subgroup. Các sự khác biệt chính giữa lớp siêu lớp và lớp con là Superclass là lớp hiện có mà từ đó các lớp mới được dẫn xuất trong khi Lớp con là lớp mới kế thừa các thuộc tính và phương thức của Superclass.
1. Tổng quan và sự khác biệt chính
2. Siêu lớp là gì
3. Phân lớp là gì
4. Điểm tương đồng giữa lớp cha và lớp con
5. So sánh cạnh nhau - Siêu lớp so với lớp con ở dạng bảng
6. Tóm tắt
Trong Kế thừa, lớp hiện có mà các lớp mới được dẫn xuất được gọi là Siêu lớp. Nó còn được gọi là lớp cha hoặc lớp cơ sở.
Có nhiều kiểu thừa kế khác nhau. Có minh họa bằng các ví dụ sau. Coi A B và C là các lớp.
Hình 01: Các kiểu kế thừa
Hình 02: Kế thừa lai
Theo các sơ đồ trên, Superclass thay đổi từ mỗi loại thừa kế. Trong thừa kế đơn cấp, A là Superclass. Trong thừa kế đa cấp, A là siêu lớp cho B và B là siêu lớp cho C. Trong thừa kế phân cấp A là siêu lớp cho cả B và C. Trong nhiều thừa kế cả A và B đều là siêu lớp cho C.
Di truyền lai là sự kết hợp của đa cấp và đa thừa kế. Trong sơ đồ bên trái, A là Superclass cho B, C và B, C là Superclass cho D. Trong sơ đồ bên phải, A là Superclass cho B và B, D là Superclass cho C.
Tham khảo chương trình dưới đây được viết bằng Java.
Hình 03: Chương trình kế thừa trong Java
Theo chương trình trên, lớp A có các phương thức sum () và sub (). Lớp B có phương thức bội (). Lớp B đang mở rộng lớp A. Do đó, 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. Do đó, lớp A là Superclass. Kiểu tham chiếu của lớp B được lấy để tạo đối tượng. Vì vậy, tất cả các phương thức như sum (), sub () và Multiply () đều có thể truy cập được bởi đối tượng. Nếu loại tham chiếu Superclass được sử dụng để tạo đối tượng, các thành viên của lớp B không thể truy cập được. ví dụ. A obj = new B (); Do đó, tham chiếu Superclass không thể gọi phương thức bội () vì phương thức đó thuộc về lớp B.
Theo các sơ đồ trên, các lớp con khác nhau từ mỗi loại thừa kế. Trong Kế thừa đơn, B là lớp con. Trong thừa kế đa cấp, B là Lớp con của A và C là Lớp con của B. Trong Kế thừa phân cấp B và C là Lớp con của A. Trong nhiều kế thừa, C là Lớp con cho A và B.
Trong thừa kế lai, sơ đồ ở bên trái, B và C là các lớp con của A. D là lớp con của B và C. Trong sơ đồ bên phải, B là lớp con của A. C là lớp con của B và D.
Theo chương trình Kế thừa ở trên, lớp B đang mở rộng lớp A. Do đó, tất cả các thuộc tính và phương thức của lớp A đều có thể truy cập được bởi lớp B. Lớp B là lớp mới kế thừa từ lớp A. Nó được gọi là Lớp con. Nó còn được gọi là lớp con hoặc lớp dẫn xuất. Lớp B có phương thức bội () và nó cũng có thể truy cập các phương thức sum () và sub () của lớp A bằng cách sử dụng kế thừa.
Siêu lớp vs Phân lớp | |
Khi thực hiện kế thừa, lớp hiện có mà các lớp mới được dẫn xuất là Superclass. | Khi thực hiện kế thừa, lớp kế thừa các thuộc tính và phương thức từ Superclass là Lớp con. |
Từ đồng nghĩa | |
Superclass được gọi là lớp cơ sở, lớp cha. | Lớp con được gọi là lớp dẫn xuất, lớp con. |
Chức năng | |
Một siêu lớp không thể sử dụng các thuộc tính và phương thức của Lớp con. | Một lớp con có thể sử dụng các thuộc tính và phương thức của Superclass. |
Kế thừa một cấp | |
Có một siêu lớp. | Có một lớp con. |
Kế thừa phân cấp | |
Có một siêu lớp | Có nhiều lớp con. |
Đa kế thừa | |
Có rất nhiều siêu xe. | Có một lớp con. |
Kế thừa là một khái niệm về OOP. Nó cho phép sử dụng các thuộc tính và phương thức của một lớp hiện có để được truy cập bởi một lớp mới. Lớp kế thừa là Superclass và lớp dẫn xuất là Lớp con. Sự khác biệt giữa Superclass và Sub class là Superclass là lớp hiện có từ đó các lớp mới được tạo ra trong khi Lớp con là lớp mới kế thừa các thuộc tính và phương thức của Superclass.
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 siêu lớp và lớp con
1. Kế thừa của Java trong Java - Javatpoint. Điểm, có sẵn ở đây
2.tutorialspoint.com. Kế thừa Java Java. Điểm, có sẵn ở đây