Computer >> Máy Tính >  >> Lập trình >> Java

Sự khác biệt giữa kế thừa và thành phần trong Java

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();
   }
}