სხვაობა აგრეგაციასა და შემადგენლობას შორის

Სარჩევი:

სხვაობა აგრეგაციასა და შემადგენლობას შორის
სხვაობა აგრეგაციასა და შემადგენლობას შორის

ვიდეო: სხვაობა აგრეგაციასა და შემადგენლობას შორის

ვიდეო: სხვაობა აგრეგაციასა და შემადგენლობას შორის
ვიდეო: Composition vs Inheritance Pro Tips 2024, ივლისი
Anonim

ძირითადი განსხვავება – აგრეგაცია და შემადგენლობა

ობიექტზე ორიენტირებული პროგრამირება (OOP) არის საერთო პარადიგმა პროგრამული უზრუნველყოფის შემუშავებაში. ობიექტი არის კლასის მაგალითი. შეუძლებელია ობიექტების ერთდროულად შექმნა. ობიექტის შესაქმნელად უნდა არსებობდეს გეგმა ან აღწერა. ეს გეგმა ცნობილია როგორც კლასი. კლასი შეიცავს თვისებებს და მეთოდებს. ობიექტები იქმნება კლასების გამოყენებით. კლასი და ობიექტი მსგავსია გეგმისა და სახლის რეალურ სამყაროში. სათანადო გეგმის გარეშე სახლის აშენება შეუძლებელია. ანალოგიურად, კლასი გამოიყენება ობიექტის შესაქმნელად. ობიექტი თანამშრომლობს სხვა ობიექტებთან. ბმულს წარმოადგენს ორი ან მეტი ობიექტის ურთიერთობა, რომელსაც ეწოდება "ასოციაცია".აგრეგაცია და შემადგენლობა ასოციაციების სახეებია. ისინი აღწერენ ურთიერთობას კლასებს შორის. ეს სტატია განიხილავს განსხვავებას აგრეგაციასა და შემადგენლობას შორის. აგრეგაციასა და კომპოზიციას შორის მთავარი განსხვავება ისაა, რომ აგრეგაცია არის ასოციაცია ორ ობიექტს შორის, რომელიც აღწერს „აქვს“ურთიერთობას და კომპოზიცია არის აგრეგაციის უფრო სპეციფიკური ტიპი, რომელიც გულისხმობს საკუთრებას.

რა არის აგრეგაცია?

ურთიერთობა ორ ობიექტს შორის ნაჩვენებია ერთიანი მოდელირების ენაზე (UML) ხაზის დახაზვით. ბმული არის ასოციაცია. UML გვეხმარება სისტემის ვიზუალური წარმოდგენის მიღებაში. ის განსხვავდება ჩვეულებრივი პროგრამირების ენებისგან. ასოციაცია ასევე განსაზღვრავს ობიექტების სიმრავლეს. ისინი არიან ერთი-ერთზე, ერთი-მრავალზე და ბევრი-მრავალზე. როდესაც A კლასის ერთი ობიექტი ასოცირდება B კლასის ერთ ობიექტთან, ეს არის ერთი-ერთზე ურთიერთობა. ამის მაგალითია ავტორი, რომელიც წერს წიგნს. ამ მაგალითში ერთი ავტორი წერს წიგნს.

როდესაც A კლასის ერთი ობიექტი ასოცირდება B კლასის ბევრ ობიექტთან, ეს არის ერთი-მრავალზე ურთიერთობა. მაგალითად, განყოფილებას შეიძლება ჰყავდეს ბევრი თანამშრომელი. როდესაც A კლასის ობიექტი ასოცირდება B კლასის ბევრ ობიექტთან, ხოლო B კლასის ობიექტი ასოცირდება A კლასის ბევრ ობიექტთან, ეს არის მრავალი-მრავალზე ასოციაცია. ერთი მაგალითია, თანამშრომელს შეუძლია იმუშაოს მრავალ პროექტზე და პროექტს შეიძლება ჰყავდეს რამდენიმე თანამშრომელი.

აგრეგაცია არის ტიპის ასოციაცია, რომელიც შემდგომ აღწერს ობიექტებს შორის ურთიერთობას. აგრეგაცია აღწერს "აქვს" ურთიერთობას. ზოგიერთი მაგალითი, რომელიც აღწერს ურთიერთობას, არის: სტუდენტს "აქვს" სტუდენტური ID, მანქანას "აქვს" ძრავა. ასევე შესაძლებელია ურთიერთობით დიდი რაოდენობით გაფართოება. ზოგიერთი მაგალითია, ბანკს "აქვს ბევრი" საბანკო ანგარიში, კლასს "ჰყავს ბევრი" სტუდენტი. ეს შეიძლება აიხსნას ქვემოთ მოცემული მაგალითის გამოყენებით.

განსხვავება აგრეგაციასა და შემადგენლობას შორის
განსხვავება აგრეგაციასა და შემადგენლობას შორის

სურათი 01: აგრეგაცია

ზემოხსენებული მაგალითის მიხედვით, საკლასო ოთახი შედგება მოსწავლისგან ან მრავალი მოსწავლისგან. სიმრავლე ასევე გამოიყენება ობიექტების რაოდენობის აღსანიშნავად. იგი აღწერს, რომ ერთ კლასს ჰყავს რამდენიმე მოსწავლე. ალმასის სიმბოლო წარმოადგენს აგრეგაციას UML-ში. სტუდენტური ობიექტები არ ეყრდნობა კლასის ობიექტს. თუ კლასის ობიექტი განადგურდა, ის არ იმოქმედებს სტუდენტის ობიექტებზე. ეს ობიექტები კვლავ იარსებებს.

რა არის შემადგენლობა?

კომპოზიცია აგრეგაციის უფრო სპეციფიკური ფორმაა. იგი აღწერს საკუთრებას. ეს შეიძლება აიხსნას ქვემოთ მოცემული მაგალითის გამოყენებით.

ძირითადი განსხვავება აგრეგაციასა და შემადგენლობას შორის
ძირითადი განსხვავება აგრეგაციასა და შემადგენლობას შორის

სურათი 02: კომპოზიცია

ზემოაღნიშნულის მიხედვით, წიგნის ობიექტი შედგება გვერდის ობიექტისგან ან გვერდებისგან. სიმრავლე ასევე გამოიყენება ობიექტების რაოდენობის აღსანიშნავად. იგი აღწერს, რომ ერთ კლასს ჰყავს რამდენიმე მოსწავლე. ალმასის სიმბოლო, რომელიც ხაზგასმულია, წარმოადგენს კომპოზიციას UML-ში. რადგან წიგნს აქვს გვერდი ან ბევრი გვერდი, ეს არის აგრეგაცია, მაგრამ უფრო დაზუსტებული. თუ წიგნის ობიექტი განადგურდა, მაშინ გვერდის ობიექტებიც ნადგურდება. გვერდის ობიექტები ვერ იარსებებს წიგნის ობიექტის გარეშე. ამიტომ, კომპოზიცია არის აგრეგაციის უფრო სპეციფიკური ფორმა, რომელიც გულისხმობს საკუთრებას.

რა მსგავსებაა აგრეგაციასა და შემადგენლობას შორის?

  • ორივე გამოიყენება ობიექტზე ორიენტირებულ პროგრამირებაში.
  • ორივე გამოიყენება ერთიანი მოდელირების ენაში (UML) სისტემის ვიზუალური გაგების მისაღებად.

რა განსხვავებაა აგრეგაციასა და შემადგენლობას შორის?

აგრეგაცია vs შემადგენლობა

აგრეგაცია არის ასოციაცია ორ ობიექტს შორის, რომელიც აღწერს "აქვს" ურთიერთობას. კომპოზიცია არის აგრეგაციის ყველაზე სპეციფიკური ტიპი, რომელიც გულისხმობს მფლობელობას.
UML სიმბოლო
აგრეგაცია აღინიშნება ბრილიანტით. კომპოზიცია აღინიშნება გამოკვეთილი ბრილიანტით.
ფუნქციონალობა
აგრეგაციაში, თუ მფლობელი ობიექტი განადგურდა, ეს გავლენას არ მოახდენს შემცველ ობიექტზე. კომპოზიციაში, თუ მფლობელი ობიექტი განადგურდა, ეს გავლენას მოახდენს შემცველ ობიექტზე.

შეჯამება – აგრეგაცია კომპოზიციის წინააღმდეგ

ობიექტზე ორიენტირებული პროგრამირება არის ძირითადი პარადიგმა პროგრამული უზრუნველყოფის შემუშავებაში. OOP-ში სისტემის მოდელირება ხდება ობიექტების გამოყენებით. ეს ობიექტები იზოლირებულად არ არსებობს. ობიექტები თანამშრომლობენ სხვა ობიექტებთან. ობიექტებს შორის ურთიერთობა ცნობილია როგორც ასოციაცია. აგრეგაცია და შემადგენლობა ასოციაციის სახეებია. აგრეგაციასა და კომპოზიციას შორის განსხვავება ისაა, რომ აგრეგაცია არის ასოციაცია ორ ობიექტს შორის, რომელიც აღწერს "აქვს" ურთიერთობას და კომპოზიცია არის აგრეგაციის უფრო სპეციფიკური ტიპი, რომელიც გულისხმობს საკუთრებას. აგრეგაცია და კომპოზიცია ხელს უწყობს სისტემის ქცევის გაგებას.

ჩამოტვირთეთ აგრეგაციის PDF ვერსია კომპოზიციის წინააღმდეგ

შეგიძლიათ ჩამოტვირთოთ ამ სტატიის PDF ვერსია და გამოიყენოთ იგი ოფლაინ მიზნებისთვის ციტირების შენიშვნის მიხედვით. გთხოვთ გადმოწეროთ PDF ვერსია აქ სხვაობა აგრეგაციასა და შემადგენლობას შორის

გირჩევთ: