องค์ประกอบเป็นเทคนิคการออกแบบที่ชั้นเรียนของคุณสามารถมีอินสแตนซ์ของชั้นเรียนอื่นเป็นสาขาในชั้นเรียนของคุณได้ การสืบทอดเป็นกลไกที่วัตถุหนึ่งสามารถรับคุณสมบัติและพฤติกรรมของวัตถุหลักได้โดยการขยายคลาส
องค์ประกอบและการสืบทอดทั้งสองให้รหัสที่ใช้ซ้ำตามคลาสที่เกี่ยวข้อง นอกจากนี้เรายังสามารถรับฟังก์ชันของการสืบทอดเมื่อคุณใช้องค์ประกอบ ด้านล่างนี้คือความแตกต่าง
ซีเนียร์ เลขที่ | คีย์ | 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(); } }