Thành phần là một kỹ thuật thiết kế trong đó lớp của bạn có thể có một thể hiện của lớp khác như một trường của lớp bạn. Kế thừa là một cơ chế mà theo đó một đối tượng có thể có được các thuộc tính và hành vi của đối tượng mẹ bằng cách mở rộng một lớp.
Thành phần và Kế thừa đều cung cấp khả năng tái sử dụng mã bởi lớp liên quan. Chúng tôi cũng có thể nhận được chức năng kế thừa khi bạn sử dụng thành phần. Dưới đây là sự khác biệt.
Sr. Không. | Phím | Kế thừa | Thành phần |
---|---|---|---|
1 | Cơ bản | Kế thừa là một mối quan hệ "là một" | Thành phần là "has-a". Mối quan hệ |
2 | Sử dụng lại mã | Trong Kế thừa, một lớp chỉ có thể mở rộng một giao diện, do đó, bạn chỉ có thể sử dụng lại mã của mình trong một lớp duy nhất | Chúng tôi có thể sử dụng lại mã trong nhiều lớp |
3 | Phạm vi | Kế thừa cung cấp các tính năng của nó tại thời điểm biên dịch | Thành phần dễ dàng đạt được trong thời gian chạy |
4 | Cuối cùng | Chúng tôi không thể sử dụng lại mã từ lớp cuối cùng | Nó cho phép sử dụng lại mã ngay cả từ các lớp cuối cùng |
5 | Phương thức | Nó hiển thị cả phương thức công khai và được bảo vệ của lớp cha | Nó không lộ ra. Họ tương tác bằng cách sử dụng giao diện công khai. |
Ví dụ về Thừa kế
class Animal{ String name="Orio"; } class Dog extends Animal{ String type="Dog"; public static void main(String args[]){ Dog p=new Dog(); System.out.println("Name:"+p.name); System.out.println("Type:"+p.type); } }
Ví dụ về thành phần
public class Student { } public class College { private Student student; public College() { this.student = new Student(); } }