Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ความแตกต่างระหว่างการสืบทอดและองค์ประกอบใน Java


องค์ประกอบเป็นเทคนิคการออกแบบที่ชั้นเรียนของคุณสามารถมีอินสแตนซ์ของชั้นเรียนอื่นเป็นสาขาในชั้นเรียนของคุณได้ การสืบทอดเป็นกลไกที่วัตถุหนึ่งสามารถรับคุณสมบัติและพฤติกรรมของวัตถุหลักได้โดยการขยายคลาส

องค์ประกอบและการสืบทอดทั้งสองให้รหัสที่ใช้ซ้ำตามคลาสที่เกี่ยวข้อง นอกจากนี้เรายังสามารถรับฟังก์ชันของการสืบทอดเมื่อคุณใช้องค์ประกอบ ด้านล่างนี้คือความแตกต่าง

ซีเนียร์ เลขที่ คีย์ 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();
   }
}