องค์ประกอบใน Java คืออะไรพร้อมตัวอย่าง

เผยแพร่แล้ว: 2021-04-09

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

ความสัมพันธ์เหล่านี้คือ IS-A (การสืบทอด) และ HAS-A (สมาคม) แม้ว่าคลาส IS-A จะมีความสัมพันธ์ที่แน่นแฟ้น แต่คลาส HAS-A นั้นมีการต่อกันแบบหลวมๆ และเหมาะสำหรับโปรแกรมเมอร์มากกว่า

ความสัมพันธ์ HAS-A แบ่งออกเป็นสองประเภท ได้แก่ การรวมและ องค์ประกอบ ใน Java บทความนี้อิงตาม แนวคิด OOP ขององค์ประกอบ เราจะเห็นตัวอย่างในชีวิตจริงมากมายเกี่ยวกับวิธีการเข้ารหัสองค์ประกอบและข้อดีที่ได้รับเมื่อนำไปใช้

สารบัญ

การบรรยายโดยย่อของสมาคมหรือความสัมพันธ์ในภาษาชวา

ในการเขียนโปรแกรมเชิง วัตถุ อ็อบเจ็กต์มีความเกี่ยวข้องกันและใช้ฟังก์ชันการทำงานทั่วไประหว่างกัน นี่คือที่มาของหัวข้อของ Inheritance, Association, Aggregation และ Composition ใน โปรแกรม Java

การสืบทอด (IS-A) และการเชื่อมโยง (HAS-A) ใน Java

1. มรดก (IS-A)

ความสัมพันธ์ IS-A หมายความว่าวัตถุหนึ่งเป็นอีกประเภทหนึ่ง มีการใช้งานโดยใช้คำหลัก 'ขยาย' และ 'ใช้งาน'

ตัวอย่าง: แล็ปท็อป HP IS-A

2. สมาคม (HAS-A)

ความสัมพันธ์แบบ HAS-A หมายความว่าคลาสมีความสัมพันธ์กับคลาสอื่น ตัวอย่างเช่น Class A มีข้อมูลอ้างอิงของ Class B และสามารถเข้าถึงคุณสมบัติทั้งหมดของคลาส B

ตัวอย่าง: ร่างกายมนุษย์ HAS-A Heart

แหล่งที่มา

แหล่งที่มา

3. การรวม Vs องค์ประกอบ

ความสัมพันธ์แบบ Has-A หรือความสัมพันธ์สามารถแบ่งออกเป็นการรวมและองค์ประกอบ คลาสคอนเทนเนอร์การรวมและคลาสที่อ้างอิงสามารถมีได้อิสระ คลาสอ้างอิงองค์ประกอบไม่สามารถมีอยู่ได้หากคลาสคอนเทนเนอร์ถูกทำลาย

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

แหล่งที่มา

องค์ประกอบในภาษา Java

องค์ประกอบ ใน Java ระหว่างสองอ็อบเจ็กต์ที่เกี่ยวข้องกันมีอยู่เมื่อมีความสัมพันธ์ที่แน่นแฟ้นระหว่างคลาสหนึ่งกับคลาส อื่น คลาสอื่นไม่สามารถอยู่ได้หากไม่มีเจ้าของหรือคลาสพาเรนต์ ตัวอย่างเช่น คลาส 'มนุษย์' เป็นองค์ประกอบของหัวใจ และ ปอด เมื่อวัตถุของมนุษย์ตายไป ไม่มีส่วนใดอยู่

องค์ประกอบเป็นรูปแบบการรวมที่จำกัด ในองค์ประกอบ คลาสหนึ่งรวมคลาสอื่นและขึ้นอยู่กับคลาสนั้น ดังนั้นจึงไม่สามารถดำรงอยู่ได้ตามปกติหากไม่มีคลาสอื่น

การนำองค์ประกอบไปใช้ใน Java

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

รถ คลาส สาธารณะ {

เครื่องยนต์เครื่องยนต์ สุดท้าย ส่วนตัว

รถ สาธารณะ (){

เครื่องยนต์ = เครื่องยนต์ ใหม่ ();

}

}

เครื่องยนต์ คลาส {

ประเภทสตริง ส่วนตัว

}

ให้เรายกตัวอย่างอีกตัวอย่างหนึ่งที่แสดงให้เห็นทั้งการสืบทอดและองค์ประกอบ

แหล่งที่มา

ในโปรแกรมนี้ คลาส Honda เป็นรถยนต์ และขยายจากคลาส Car วัตถุเครื่องยนต์รถยนต์ใช้ในคลาสฮอนด้า

คลาส CarEngine {

โมฆะสาธารณะ StartEngine () {

System.out.println(“ เครื่องยนต์ของรถยนต์เริ่ม ทำงานแล้ว .”);

}

โมฆะสาธารณะ stopEngine(){

System.out.println(“ เครื่องยนต์ของรถยนต์หยุด ทำงาน .”);

}

}

รถคลาส {

สีสตริงส่วนตัว

int ส่วนตัว maxi_Speed;

โมฆะสาธารณะ carDetails(){

System.out.println(“สีรถ= “+สี + “; ความเร็วสูงสุด= ” + maxi_Speed);

}

//ตั้งค่าสีรถ

โมฆะสาธารณะ setColour (สีสตริง) {

this.color = สี;

}

//ตั้งค่าความเร็วสูงสุดของรถ

โมฆะสาธารณะ setMaxiSpeed ​​(int maxi_Speed) {

this.maxi_Speed ​​= maxi_Speed;

}

}

คลาสฮอนด้าขยายรถยนต์{

โมฆะสาธารณะ HondaStart(){

CarEngine Honda_Engine = CarEngine ใหม่ (); //องค์ประกอบ

Honda_Engine.startEngine();

}

}

คลาสสาธารณะหลัก {

โมฆะคงที่สาธารณะหลัก (สตริง [] args) {

Honda HondaJazz = ฮอนด้าใหม่ ();

HondaJazz.setColour("ดำ");

HondaJazz.setMaxSpeed ​​(160);

รายละเอียด HondaJazz.carDetails();

HondaJazz.HondaStart();

}

}

เอาท์พุท:

สีรถ = สีดำ; ความเร็วสูงสุด = 160

เครื่องยนต์ของรถยนต์เริ่มทำงานแล้ว

ผลลัพธ์ที่ได้มาจากการจัดองค์ประกอบและแสดงรายละเอียดของรถยนต์ Honda Jazz

UML Denotations ของสมาคม

ความสัมพันธ์ของการเชื่อมโยง การรวมกลุ่ม และ องค์ประกอบใน Java ระหว่างคลาส A และ B แสดงดังต่อไปนี้ในไดอะแกรม UML:

สมาคม: A—->B

ส่วนประกอบ: A—–<filled>B

การรวม: A—–<>B

รับ ปริญญาวิศวกรรมซอฟต์แวร์ ออนไลน์จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

ประโยชน์ขององค์ประกอบใน Java

การใช้เทคนิคการออกแบบองค์ประกอบใน Java มีประโยชน์ดังต่อไปนี้:

  1. เป็นไปได้เสมอที่จะ "ชอบองค์ประกอบของวัตถุมากกว่าการสืบทอดคลาส" ชั้นเรียนบรรลุความหลากหลายและการใช้รหัสซ้ำตามองค์ประกอบ
  2. องค์ประกอบมีความยืดหยุ่น ซึ่งคุณสามารถเปลี่ยนการนำคลาสไปใช้ในขณะใช้งานโดยเปลี่ยนวัตถุที่รวมไว้ และเปลี่ยนลักษณะการทำงาน
  3. การออกแบบตามองค์ประกอบมีจำนวนคลาสน้อยกว่า
  4. ความสัมพันธ์แบบ “HAS-A” ระหว่างคลาสนั้นถูกต้องตามความหมายมากกว่าความสัมพันธ์แบบ “IS-A”
  5. องค์ประกอบใน Java ให้ความสามารถในการทดสอบคลาสที่ดีกว่าซึ่งมีประโยชน์อย่างยิ่งในการพัฒนาที่ขับเคลื่อนด้วยการทดสอบ
  6. เป็นไปได้ที่จะบรรลุ "การสืบทอดหลายรายการ" ในภาษาโดยการจัดองค์ประกอบหลายรายการเป็นหนึ่งเดียว
  7. ในการจัดองค์ประกอบ ไม่มีความขัดแย้งระหว่างเมธอดหรือชื่อคุณสมบัติ

บทสรุป

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

เรียนรู้ องค์ประกอบในภาษา Java ด้วย หลักสูตรวิทยาศาสตรมหาบัณฑิตของ upGrad ในหลักสูตรวิทยาการคอมพิวเตอร์ ซึ่งมีวัตถุประสงค์เพื่อให้คุณเรียนรู้และยกระดับทักษะของคุณในการพัฒนาซอฟต์แวร์

คุณสมบัติ

AB achelor's Degree ด้วยคะแนน 50% หรือเทียบเท่า ไม่จำเป็นต้องมีประสบการณ์การเขียนโค้ดเบื้องต้น

ราคา

ค่าธรรมเนียมโปรแกรมเริ่มต้นที่ Rs.13, 095/เดือนสำหรับผู้อยู่อาศัยในอินเดีย และ USD 5999 สำหรับ ผู้อยู่อาศัยต่างประเทศ

ลงจอดบนงานในฝันของคุณ

สมัครเรียนวิทยาศาสตรมหาบัณฑิตสาขาวิชาแมชชีนเลิร์นนิง & AI