ძირითადი განსხვავება – ჯავაში აგრეგაცია და კომპოზიცია
აგრეგაცია არის ასოციაცია ორ ობიექტს შორის, რომელიც აღწერს "აქვს-ა" ურთიერთობას. კომპოზიცია არის აგრეგაციის უფრო სპეციფიკური ტიპი, რომელიც გულისხმობს საკუთრებას. ჯავაში აგრეგაციასა და კომპოზიციას შორის მთავარი განსხვავება ისაა, რომ თუ შემავალი ობიექტი შეიძლება არსებობდეს მფლობელი ობიექტის არსებობის გარეშე, ეს არის აგრეგაცია, ხოლო თუ შემავალი ობიექტი ვერ იარსებებს მფლობელის ობიექტის არსებობის გარეშე, ეს არის კომპოზიცია..
ობიექტზე ორიენტირებული პროგრამირება (OOP) არის ძირითადი პარადიგმა პროგრამული უზრუნველყოფის შემუშავებაში.იგი გამოიყენება პროგრამული უზრუნველყოფის მოდელირებისთვის ობიექტების გამოყენებით. ობიექტები იქმნება კლასების გამოყენებით. კლასი შედგება თვისებებისა და მეთოდებისგან. პროგრამულ უზრუნველყოფაში მრავალი ობიექტია. თითოეული ობიექტი თანამშრომლობს ერთმანეთთან შეტყობინების გადაცემის გზით. ორ ობიექტს შორის ურთიერთობა ცნობილია როგორც ასოციაცია. აგრეგაციაც და შემადგენლობაც ორი ტიპის ასოციაციაა. "აქვს-ა" ურთიერთობა აღწერს, რომ ერთ ობიექტს შეუძლია გამოიყენოს სხვა ობიექტი. აგრეგაცია და კომპოზიცია შეიძლება განხორციელდეს OOP-ის დამხმარე ენებზე. თუ შემავალი ობიექტი შეიძლება არსებობდეს მფლობელის არსებობის გარეშე, მაშინ ამ ორ ობიექტს შორის ასოციაცია არის აგრეგაცია. თუ შემავალი ობიექტი ვერ იარსებებს მფლობელის ობიექტის არსებობის გარეშე, მაშინ ამ ორ ობიექტს შორის კავშირი არის კომპოზიცია.
რა არის აგრეგაცია ჯავაში?
აგრეგაცია არის ასოციაციის ტიპი. თუ კლასს აქვს ერთეულის მითითება, ის ცნობილია როგორც აგრეგაცია. აგრეგაცია წარმოადგენს ურთიერთობას.სტუდენტურ ობიექტს შეიძლება ჰქონდეს ისეთი თვისებები, როგორიცაა student_id, სახელი, მისამართი. ამ ობიექტს ასევე შეიძლება ჰქონდეს სხვა ობიექტი, სახელწოდებით მისამართი, თავისი ინფორმაციით, როგორიცაა ქალაქი, შტატი, ქვეყანა. ამ სიტუაციაში, სტუდენტს აქვს ერთეულის საცნობარო მისამართი. ეს არის „აქვს“ურთიერთობა.
სურათი 01: ნიშნების კლასი
სურათი 02: ძირითადი პროგრამა აგრეგაციის აღწერისთვის
ზემოხსენებული პროგრამის მიხედვით, კლასის ნიშნები შედგება სამი თვისებისგან, რომლებიც არის მათემატიკა, ინგლისური და საბუნებისმეტყველო ნიშნები. სტუდენტს აქვს ნიშნების ობიექტი.მას აქვს საკუთარი თვისებები, რომლებიც მათემატიკის, ინგლისურის და მეცნიერების ნიშნებია. ძირითად მეთოდში იქმნება Marks-ის ობიექტი და ენიჭება ნიშნების მნიშვნელობები. სტუდენტის ობიექტს, რომელიც არის s1, შეუძლია გამოიყენოს ნიშნების ობიექტი, რომელიც არის m1. მაშასადამე, სტუდენტს და მარკებს აქვთ ურთიერთობა „აქვს-ა“. Marks ობიექტი შეიძლება არსებობდეს სტუდენტური ობიექტის გარეშე. ამიტომ, ეს არის აგრეგაცია.
რა არის კომპოზიცია ჯავაში?
კომპოზიცია არის ასოციაციის ტიპი. ეს არის აგრეგაციის სპეციფიკური ფორმა, რომელიც გულისხმობს საკუთრებას. დავუშვათ, რომ არსებობს ორი კლასი სახელწოდებით A და B. თუ B კლასის ობიექტი ვერ იარსებებს, თუ A კლასის ობიექტი განადგურდება, მაშინ ეს არის კომპოზიცია. წიგნი შედგება მრავალი გვერდისგან. თუ წიგნი განადგურდა, ფურცლებიც დაინგრევა. გვერდის ობიექტები ვერ იარსებებს წიგნის ობიექტის გარეშე. იხილეთ ქვემოთ მოცემული პროგრამა.
სურათი 03: საკლასო კლასი
სურათი 04: სკოლის კლასი
სურათი 05: კომპოზიციის აღწერის მთავარი პროგრამა
ზემოხსენებული პროგრამის მიხედვით, Classroom-ს აქვს ორი თვისება, ეს არის სახელი და numOfStudents. სკოლა არის საკლასო ობიექტების კოლექცია. ძირითადი მეთოდით იქმნება ორი საკლასო ობიექტი. ისინი ემატება "საკლასო ოთახებს". ეს "საკლასო ოთახები" გადაეცემა სკოლის ობიექტს.და ბოლოს, კლასის სახელი და მოსწავლეთა რაოდენობა იბეჭდება კრებულში გამეორებით. თუ სკოლის ობიექტი განადგურდება, საკლასო ობიექტებიც განადგურდება. ეს არის კომპოზიციის მაგალითი. ის ასევე შეიცავს "has-a" ურთიერთობას და ასევე გულისხმობს საკუთრებას.
რა კავშირია აგრეგაციასა და კომპოზიციას შორის ჯავაში?
აგრეგაცია და შემადგენლობა ასოციაციის ორი ტიპია და კომპოზიცია არის აგრეგაციის სპეციალიზებული ტიპი. კომპოზიცია არის აგრეგაციის ქვესიმრავლე
რა განსხვავებაა ჯავაში აგრეგაციასა და კომპოზიციას შორის?
აგრეგაცია vs კომპოზიცია ჯავაში |
|
აგრეგაცია არის ასოციაცია ორ ობიექტს შორის, რომელიც აღწერს "აქვს" ურთიერთობას. | კომპოზიცია არის აგრეგაციის უფრო სპეციფიკური ტიპი, რომელიც გულისხმობს მფლობელობას. |
გამოყენება | |
აგრეგაცია გამოიყენება, როდესაც ერთი ობიექტი იყენებს მეორე ობიექტს. | კომპოზიცია გამოიყენება, როდესაც ერთი ობიექტი სხვა ობიექტს ფლობს. |
ზემოქმედება ობიექტებზე | |
აგრეგაციაში, მფლობელი ობიექტის განადგურება არ იმოქმედებს შემცველ ობიექტზე. | კომპოზიციაში, მფლობელი ობიექტის განადგურება გავლენას მოახდენს შემცველ ობიექტზე. |
რეზიუმე – აგრეგაცია vs კომპოზიცია ჯავაში
აგრეგაცია და შემადგენლობა არის ორი ცნება OOP-ში. "აქვს-ა" ურთიერთობა აღწერს, რომ ერთ ობიექტს შეუძლია გამოიყენოს სხვა ობიექტი. აგრეგაცია არის ასოციაცია ორ ობიექტს შორის, რომელიც აღწერს „აქვს-ა“ურთიერთობას. კომპოზიცია არის აგრეგაციის უფრო სპეციფიკური ტიპი, რომელიც გულისხმობს საკუთრებას.ჯავაში აგრეგაციასა და კომპოზიციას შორის განსხვავება ისაა, რომ თუ შემავალი ობიექტი შეიძლება არსებობდეს მფლობელი ობიექტის არსებობის გარეშე, ეს არის აგრეგაცია და თუ შემავალი ობიექტი ვერ იარსებებს მფლობელის არსებობის გარეშე, ეს არის კომპოზიცია.