Pagrindinis skirtumas – „Java“agregavimas ir sudėtis
Agregacija yra dviejų objektų asociacija, apibūdinanti „has-a“ryšį. Sudėtis yra konkretesnis sujungimo tipas, kuris reiškia nuosavybės teisę. Pagrindinis „Java“agregavimo ir kompozicijos skirtumas yra tas, kad jei esantis objektas gali egzistuoti be nuosavybės objekto, tai yra agregacija, o jei esantis objektas negali egzistuoti be nuosavybės objekto egzistavimo, tai yra kompozicija..
Objektinis programavimas (OOP) yra pagrindinė programinės įrangos kūrimo paradigma. Jis naudojamas programinei įrangai modeliuoti naudojant objektus. Objektai kuriami naudojant klases. Klasė susideda iš savybių ir metodų. Programinėje įrangoje yra keli objektai. Kiekvienas objektas bendradarbiauja tarpusavyje, perduodamas pranešimą. Ryšys tarp dviejų objektų yra žinomas kaip asociacija. Tiek agregavimas, tiek sudėtis yra dviejų tipų asociacijos. Ryšys „has-a“apibūdina, kad vienas objektas gali naudoti kitą objektą. Agregavimas ir sudėtis gali būti įgyvendinami OOP palaikančiomis kalbomis. Jei esantis objektas gali egzistuoti be nuosavybės objekto, tada šių dviejų objektų susiejimas yra agregacija. Jei esantis objektas negali egzistuoti be nuosavybės objekto, tų dviejų objektų susiejimas yra kompozicija.
Kas yra „Java“agregavimas?
Agregavimas yra susiejimo tipas. Jei klasė turi objekto nuorodą, ji vadinama agregacija. Agregacija reiškia santykį turi-a. Studento objektas gali turėti tokias ypatybes kaip studento_id, vardas, adresas. Šis objektas taip pat gali turėti kitą objektą, vadinamą adresu, su savo informacija, tokia kaip miestas, valstija, šalis. Tokiu atveju Mokinys turi objekto nuorodos adresą. Tai yra „turi-a“santykis.
01 pav.: pažymi klasę
02 pav. Pagrindinė programa, skirta agregacijai aprašyti
Pagal aukščiau pateiktą programą, klasės pažymiai susideda iš trijų savybių: matematikos, anglų kalbos ir gamtos mokslų pažymių. Mokinys turi žymių objektą. Jis turi savo savybių, kurios yra matematikos, anglų kalbos ir gamtos mokslų ženklai. Taikant pagrindinį metodą, sukuriamas žymių objektas ir priskiriamos žymų reikšmės. Mokinio objektas, kuris yra s1, gali naudoti žymių objektą, kuris yra m1. Todėl Studentas ir Marks turi „turi-a“ryšį. Ženklų objektas gali egzistuoti be Studento objekto. Todėl tai yra apibendrinimas.
Kas yra „Java“kompozicija?
Sudėtis yra asociacijos tipas. Tai specifinė sujungimo forma, kuri reiškia nuosavybės teisę. Tarkime, kad yra dvi klasės, vadinamos A ir B. Jei B klasės objektas negali egzistuoti, jei A klasės objektas yra sunaikintas, tai yra kompozicija. Knyga susideda iš daugybės puslapių. Jei knyga bus sunaikinta, sunaikins ir puslapiai. Puslapio objektai negali egzistuoti be knygos objekto. Žiūrėkite toliau pateiktą programą.
03 pav. Klasės klasė
04 pav.: mokyklos klasė
05 pav. Pagrindinė programa, skirta kompozicijai aprašyti
Pagal aukščiau pateiktą programą, klasėje yra dvi savybės: vardas ir mokinių skaičius. Mokykla yra klasės objektų kolekcija. Taikant pagrindinį metodą, sukuriami du klasės objektai. Jie pridedami prie „klasių“. Šios „klasės“perduodamos mokyklos objektui. Galiausiai, kartojant kolekciją, atspausdinamas klasės pavadinimas ir mokinių skaičius. Jei bus sunaikintas Mokyklos objektas, sunaikinami ir klasės objektai. Tai yra kompozicijos pavyzdys. Jame taip pat yra ryšys „turi-a“ir taip pat reiškia nuosavybės teisę.
Koks yra „Java“agregavimo ir sudėties ryšys?
Agregavimas ir sudėtis yra du susiejimo tipai, o sudėtis yra specializuotas agregavimo tipas. Kompozicija yra agregavimo poaibis
Kuo skiriasi agregavimas ir sudėtis Java?
Agregavimas prieš kompoziciją Java versijoje |
|
Apibendrinimas yra dviejų objektų asociacija, apibūdinanti „turi ryšį“. | Sudėtis yra konkretesnis apibendrinimo tipas, kuris reiškia nuosavybės teisę. |
Naudojimas | |
Agregavimas naudojamas, kai vienas objektas naudoja kitą objektą. | Kompozicija naudojama, kai vienam objektui priklauso kitas objektas. |
Poveikis objektams | |
Apibendrinant, nuosavybės objekto sunaikinimas neturės įtakos turinčiam objektui. | Sudėtyje turinčio objekto sunaikinimas turės įtakos turinčiam objektui. |
Santrauka – „Java“agregavimas ir sudėtis
Apibendrinimas ir sudėtis yra dvi OOP sąvokos. Ryšys „has-a“apibūdina, kad vienas objektas gali naudoti kitą objektą. Agregacija yra dviejų objektų asociacija, apibūdinanti „has-a“ryšį. Sudėtis yra konkretesnis agregavimo tipas, kuris reiškia nuosavybės teisę.„Java“agregavimo ir kompozicijos skirtumas yra tas, kad jei esantis objektas gali egzistuoti be nuosavybės objekto, tai yra agregacija, o jei esantis objektas negali egzistuoti be nuosavybės objekto egzistavimo, tai yra kompozicija.