องค์ประกอบใน Java คืออะไรพร้อมตัวอย่าง
เผยแพร่แล้ว: 2021-04-09Java เป็นภาษาเอนกประสงค์ที่รองรับการเขียนโปรแกรมเชิงวัตถุและการใช้รหัสซ้ำด้วยการสร้างความสัมพันธ์ระหว่างสองคลาส มีความสัมพันธ์หรือการเชื่อมโยงสองประเภทใน 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 มีประโยชน์ดังต่อไปนี้:
- เป็นไปได้เสมอที่จะ "ชอบองค์ประกอบของวัตถุมากกว่าการสืบทอดคลาส" ชั้นเรียนบรรลุความหลากหลายและการใช้รหัสซ้ำตามองค์ประกอบ
- องค์ประกอบมีความยืดหยุ่น ซึ่งคุณสามารถเปลี่ยนการนำคลาสไปใช้ในขณะใช้งานโดยเปลี่ยนวัตถุที่รวมไว้ และเปลี่ยนลักษณะการทำงาน
- การออกแบบตามองค์ประกอบมีจำนวนคลาสน้อยกว่า
- ความสัมพันธ์แบบ “HAS-A” ระหว่างคลาสนั้นถูกต้องตามความหมายมากกว่าความสัมพันธ์แบบ “IS-A”
- องค์ประกอบใน Java ให้ความสามารถในการทดสอบคลาสที่ดีกว่าซึ่งมีประโยชน์อย่างยิ่งในการพัฒนาที่ขับเคลื่อนด้วยการทดสอบ
- เป็นไปได้ที่จะบรรลุ "การสืบทอดหลายรายการ" ในภาษาโดยการจัดองค์ประกอบหลายรายการเป็นหนึ่งเดียว
- ในการจัดองค์ประกอบ ไม่มีความขัดแย้งระหว่างเมธอดหรือชื่อคุณสมบัติ
บทสรุป
องค์ประกอบใน Java มีข้อดีมากมายในขณะที่เขียนโปรแกรมและเป็นหนึ่งในวิธีการออกแบบที่ได้รับความนิยม ในบทความนี้ เราได้พยายามทำให้คุณเข้าใจแนวคิดที่สำคัญนี้ด้วยตัวอย่างในชีวิตจริงและโค้ดที่ใช้งานได้จริง องค์ประกอบนำเสนอโค้ดที่ยืดหยุ่นและแข็งแกร่ง คุณลักษณะการนำรหัสกลับมาใช้ใหม่ได้ช่วยหลีกเลี่ยงการทำซ้ำโค้ดและบรรลุความคุ้มค่า ทำให้เป็นหนึ่งในวิธีการที่ใช้กันอย่างแพร่หลายในโปรแกรมต่างๆ
เรียนรู้ องค์ประกอบในภาษา Java ด้วย หลักสูตรวิทยาศาสตรมหาบัณฑิตของ upGrad ในหลักสูตรวิทยาการคอมพิวเตอร์ ซึ่งมีวัตถุประสงค์เพื่อให้คุณเรียนรู้และยกระดับทักษะของคุณในการพัฒนาซอฟต์แวร์
คุณสมบัติ
AB achelor's Degree ด้วยคะแนน 50% หรือเทียบเท่า ไม่จำเป็นต้องมีประสบการณ์การเขียนโค้ดเบื้องต้น
ราคา
ค่าธรรมเนียมโปรแกรมเริ่มต้นที่ Rs.13, 095/เดือนสำหรับผู้อยู่อาศัยในอินเดีย และ USD 5999 สำหรับ ผู้อยู่อาศัยต่างประเทศ