Association ใน Java คืออะไรและทำไมคุณถึงต้องการ?



บทความเกี่ยวกับการเชื่อมโยงใน Java นี้จะช่วยให้คุณเข้าใจวิธีสร้างการเชื่อมต่อระหว่างสองคลาสผ่านอ็อบเจ็กต์เมื่อเข้ารหัสใน Java

คุณสร้างการเชื่อมต่อระหว่างสองคลาสได้อย่างไรเมื่อคุณเขียนไฟล์ โปรแกรม Java เหรอ? มันง่ายมาก คุณสามารถใช้แนวคิดที่เรียกว่าการเชื่อมโยง ฟังดูน่าสนใจใช่มั้ย? ในบทความนี้เรามาดูการเชื่อมโยงใน ในรายละเอียด.

หัวข้อที่กล่าวถึงในบทความนี้ ได้แก่ :





สมาคมคืออะไร?

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

สมาคมใน Java - Edureka



  • ตัวอย่างเช่น,บุคคลสามารถมีหนังสือเดินทางได้เพียงเล่มเดียว นั่นคือ“ หนึ่งต่อหนึ่ง ” ความสัมพันธ์.
  • หากเราพูดถึงความสัมพันธ์ระหว่างธนาคารกับพนักงานธนาคารสามารถมีพนักงานจำนวนมากได้ดังนั้นจึงเป็น“ หนึ่งต่อหลายคน ” ความสัมพันธ์.
  • ในทำนองเดียวกันทุกเมืองมีอยู่ในรัฐเดียว แต่รัฐสามารถมีได้หลายเมืองซึ่งเป็น ' หลายต่อหนึ่ง ” ความสัมพันธ์.
  • สุดท้ายนี้ถ้าเราพูดถึงความสัมพันธ์ระหว่างครูและนักเรียนนักเรียนหลายคนสามารถเชื่อมโยงกับครูคนเดียวและนักเรียนคนเดียวสามารถเชื่อมโยงกับครูหลายคนได้ แต่ทั้งสองสามารถสร้างหรือลบได้โดยอิสระ มันคือ ' หลายต่อหลายคน ” ความสัมพันธ์.

มาทำความเข้าใจเกี่ยวกับการเชื่อมโยงด้วยตัวอย่าง

แพ็กเกจ MyPackage import java.util. * class CityClass {private String cityName public String getCityName () {return cityName} โมฆะสาธารณะ setCityName (String cityName) {this.cityName = cityName} @Override public String toString () คลาส {return cityName}} สถานะ {private String stateName List citys public String getStateName () {return stateName} public void setStateName (String stateName) {this.stateName = stateName} public List getCities () {return citys} public void setState (List citys) {this.citys = citys}} คลาสสาธารณะ AssociationExample {public static void main (String [] args) {State state = new State () state.setStateName ('California') CityClass city = new CityClass () city.setCityName ('Los Angeles') CityClass city2 = CityClass () city2.setCityName ใหม่ ('San Diago') รายการ empList = ArrayList ใหม่ () empList.add (เมือง) empList.add (city2) state.setState (empList) System.out.println (state.getCities () + 'คือเมืองในรัฐ' + state.getStateName ())}}

เอาท์พุต:

[ลอสแอนเจลิสซานดิอาโก] เป็นเมืองในรัฐแคลิฟอร์เนีย



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

สองรูปแบบของการเชื่อมโยง

องค์ประกอบ และ การรวม เป็นสองรูปแบบพิเศษของการเชื่อมโยง ลองดูตัวอย่างด้วยความช่วยเหลือ

องค์ประกอบ

มันคือประเภท“ เป็นของ” ของสมาคม. หมายความว่าวัตถุชิ้นใดชิ้นหนึ่งเป็นโครงสร้างที่ใหญ่กว่าในเชิงตรรกะซึ่งมีอีกวัตถุหนึ่งอยู่ กล่าวอีกนัยหนึ่งก็คือเป็นส่วนหนึ่งหรือสมาชิกของวัตถุที่ใหญ่กว่า หรืออีกวิธีหนึ่งมักเรียกว่าไฟล์ ความสัมพันธ์แบบ“ has-a” (ตรงข้ามกับความสัมพันธ์“ is-a” ซึ่งก็คือ ).

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

การแปลงประเภท c ++

การรวม

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

เรามาดูตัวอย่างของผู้เล่นและทีมกัน ผู้เล่นที่เป็นส่วนหนึ่งของทีมสามารถดำรงอยู่ได้แม้ว่าทีมจะหยุดอยู่เหตุผลหลักที่คุณต้องมี Aggregation คือ รักษาความสามารถในการใช้รหัสซ้ำ

เรามาถึงตอนท้ายของบทความนี้ซึ่งเราได้เรียนรู้เกี่ยวกับ Association in .

หากคุณพบบทความเกี่ยวกับ“ การเชื่อมโยงใน Java” นี้เกี่ยวข้องโปรดดูที่ไฟล์ บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้พร้อมเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก หากคุณพบคำถามใด ๆ อย่าลังเลที่จะถามคำถามทั้งหมดของคุณในส่วนความคิดเห็นของ 'Association in Java' และทีมงานของเรายินดีที่จะตอบ