Үндсэн ялгаа – Java хэл дээрх нэгтгэл ба найрлага
Нэгдмэл байдал нь "байгаа-a" харьцааг дүрсэлсэн хоёр объектын хоорондын холбоо юм. Бүрэлдэхүүн нь өмчлөлийг илэрхийлдэг нэгтгэлийн илүү тодорхой төрөл юм. Жава хэл дээрх нэгтгэх ба найруулгын гол ялгаа нь хэрэв агуулагдсан объект нь өмчлөгч объектгүйгээр оршин тогтнох боломжтой бол энэ нь нэгтгэх, хэрэв агуулагдах объект нь өмчлөгч объектгүйгээр оршин тогтнох боломжгүй бол энэ нь найрлага юм..
Объект хандалтат програмчлал (OOP) нь програм хангамж хөгжүүлэх гол парадигм юм. Энэ нь объект ашиглан програм хангамжийг загварчлахад хэрэглэгддэг. Объектуудыг классуудыг ашиглан бүтээдэг. Анги нь шинж чанар, аргуудаас бүрдэнэ. Програм хангамжид олон объект байдаг. Объект бүр мессеж дамжуулах замаар бие биетэйгээ хамтран ажилладаг. Хоёр объектын хоорондын харилцаа холбоог холбоо гэж нэрлэдэг. Агрегат болон найрлага нь хоёр төрлийн холбоо юм. “Байна-a” харьцаа нь нэг объект өөр объектыг ашиглах боломжтойг тодорхойлдог. Агрегат болон найрлагыг OOP-ийг дэмждэг хэл дээр хэрэгжүүлэх боломжтой. Хэрэв агуулагдсан объект нь өмчлөх объектгүйгээр оршин тогтнох боломжтой бол эдгээр хоёр объектын хоорондын холбоо нь нэгтгэх болно. Хэрэв агуулагдсан объект нь эзэмшигч объект байхгүй бол оршин тогтнох боломжгүй бол эдгээр хоёр объектын хоорондын холбоо нь найрлага болно.
Жава хэл дээр нэгтгэх гэж юу вэ?
Нэгтгэх нь нэг төрлийн холбоо юм. Хэрэв анги нь байгууллагын лавлагаатай бол түүнийг нэгтгэх гэж нэрлэдэг. Агрегат нь байна-a харилцааг илэрхийлдэг. Оюутны объект нь student_id, нэр, хаяг зэрэг шинж чанартай байж болно. Энэ объект нь мөн хаяг нэртэй өөр объекттой байж болно, тухайлбал хот, муж, улс гэх мэт. Энэ тохиолдолд Оюутан аж ахуйн нэгжийн лавлагааны хаягтай байна. Энэ нь "байдаг" харилцаа юм.
Зураг 01: Ангилал
Зураг 02: Нэгтгэлийг тайлбарлах үндсэн програм
Дээрх хөтөлбөрийн дагуу ангиллын оноо нь Математик, Англи хэл, Шинжлэх ухааны гэсэн гурван шинж чанараас бүрдэнэ. Оюутан Маркийн объекттой. Энэ нь математик, англи хэл, шинжлэх ухааны шинж чанартай өөрийн гэсэн шинж чанартай байдаг. Үндсэн аргын хувьд Marks-ийн объектыг үүсгэж, тэмдгийн утгыг оноодог. s1 гэсэн оюутны объект нь m1 болох marks объектыг ашиглаж болно. Тиймээс Оюутан, Марк хоёр "байна" гэсэн харилцаатай байдаг. Marks объект нь Оюутны объектгүйгээр байж болно. Тиймээс энэ нь нэгтгэсэн зүйл юм.
Жава хэл дээрх Composition гэж юу вэ?
Зохиол нь нэг төрлийн холбоо юм. Энэ нь өмчлөлийг илэрхийлдэг нэгтгэлийн тодорхой хэлбэр юм. А болон В анги гэж нэрлэгддэг хоёр анги байдаг гэж бодъё. Хэрэв А ангиллын объект уствал В ангиллын объект оршин тогтнох боломжгүй бол энэ нь найрлага юм. Ном олон хуудаснаас бүрддэг. Номыг устгавал хуудаснууд нь ч бас устана. Номын объектгүйгээр хуудасны объектууд оршин тогтнох боломжгүй. Доорх хөтөлбөрийг үзнэ үү.
Зураг 03: Ангийн анги
Зураг 04: Сургуулийн анги
Зураг 05: Зохиолыг тайлбарлах үндсэн програм
Дээрх хөтөлбөрийн дагуу Анги нь нэр болон оюутны тоо гэсэн хоёр шинж чанартай. Сургууль бол ангийн эд зүйлсийн цуглуулга юм. Үндсэн аргын хувьд Classroom-ийн хоёр объект үүсгэгддэг. Эдгээрийг "анги" дээр нэмдэг. Эдгээр "анги" нь сургуулийн объект руу шилждэг. Эцэст нь ангийн нэр болон оюутны тоог цуглуулгыг давтах замаар хэвлэв. Хэрэв Сургуулийн объект устгагдсан бол Ангийн объектууд мөн устах болно. Энэ бол найрлагын жишээ юм. Энэ нь мөн 'байна-a' харилцааг агуулж, мөн өмчлөх эрхийг илэрхийлдэг.
Жава хэл дээрх нэгтгэх ба найрлагын хооронд ямар хамаарал байдаг вэ?
Нэгтгэх ба Бүрэлдэхүүн нь хоёр төрлийн Холбоо бөгөөд Бүрэлдэхүүн нь нэгтгэлийн төрөлжсөн төрөл юм. Зохиол нь нэгтгэлийн дэд олонлог юм
Жава хэл дээрх нэгтгэх болон найрлага хоёрын ялгаа юу вэ?
Ява хэл дээрх нэгтгэл ба найруулга |
|
Нэгтгэх гэдэг нь "байгаа" харилцааг тодорхойлсон хоёр объектын холбоо юм. | Бүтэц нь өмчлөлийг илэрхийлдэг илүү тодорхой нэгдэл юм. |
Хэрэглээ | |
Нэг объект өөр объект ашиглах үед нэгтгэлийг ашигладаг. | Нэг объект өөр объектыг эзэмшиж байх үед найруулгыг ашигладаг. |
Объектод нөлөөлөх | |
Нэгтгэхдээ эзэмшиж буй объектыг устгах нь агуулж буй объектод нөлөөлөхгүй. | Бүтэц дотор байгаа объектыг устгах нь агуулж буй объектод нөлөөлнө. |
Хураангуй – Java хэл дээрх нэгтгэл ба найруулга
Нэгтгэх ба Бүрэлдэхүүн нь OOP дахь хоёр ойлголт юм. “Байна-a” харьцаа нь нэг объект өөр объектыг ашиглах боломжтойг тодорхойлдог. Агрегация гэдэг нь "байгаа-a" харьцааг дүрсэлсэн хоёр объектын холбоо юм. Бүрэлдэхүүн нь өмчлөлийг илэрхийлдэг нэгтгэлийн илүү тодорхой төрөл юм. Java хэл дээрх нэгтгэх ба найруулгын ялгаа нь хэрэв агуулагдсан объект нь өмчлөх объектгүйгээр оршин тогтнох боломжтой бол энэ нь нэгтгэх бөгөөд хэрэв агуулагдах объект нь өмчлөгч объектгүйгээр оршин тогтнох боломжгүй бол энэ нь найрлага болно.