องค์ประกอบเป็นเทคนิคการออกแบบที่ชั้นเรียนของคุณสามารถมีอินสแตนซ์ของชั้นเรียนอื่นเป็นสาขาในชั้นเรียนของคุณได้ การสืบทอดเป็นกลไกที่วัตถุหนึ่งสามารถรับคุณสมบัติและพฤติกรรมของวัตถุหลักได้โดยการขยายคลาส
องค์ประกอบและการสืบทอดทั้งสองให้รหัสที่ใช้ซ้ำตามคลาสที่เกี่ยวข้อง นอกจากนี้เรายังสามารถรับฟังก์ชันของการสืบทอดเมื่อคุณใช้องค์ประกอบ ด้านล่างนี้คือความแตกต่าง
| ซีเนียร์ เลขที่ | คีย์ | Inheritance | องค์ประกอบ |
|---|---|---|---|
| 1 | พื้นฐาน | การสืบทอดคือความสัมพันธ์แบบ "is-a" | องค์ประกอบคือ "has-a" ความสัมพันธ์ |
| 2 | Code Reuse | ใน Inheritance คลาส lass สามารถขยายได้เพียงอินเทอร์เฟซเดียว ดังนั้น คุณสามารถใช้โค้ดของคุณซ้ำได้เฉพาะในคลาสเดียวเท่านั้น | เราสามารถใช้โค้ดซ้ำได้ในหลายคลาส |
| 3 | ขอบเขต | Inheritance นำเสนอคุณลักษณะ ณ เวลารวบรวม | สร้างองค์ประกอบได้อย่างง่ายดายที่รันไทม์ |
| 4 | Final | เราไม่สามารถใช้รหัสซ้ำจากคลาสสุดท้ายได้ | อนุญาตให้ใช้รหัสซ้ำแม้จากคลาสสุดท้าย |
| 5 | วิธีการ | แสดงทั้งวิธีการสาธารณะและที่ได้รับการป้องกันของคลาสพาเรนต์ | ไม่เปิดเผย พวกเขาโต้ตอบโดยใช้อินเทอร์เฟซสาธารณะ |
ตัวอย่างมรดก
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);
}
} ตัวอย่างองค์ประกอบ
public class Student {
}
public class College {
private Student student;
public College() {
this.student = new Student();
}
}