Skirtumas tarp „Java“agregavimo ir sudėties

Turinys:

Skirtumas tarp „Java“agregavimo ir sudėties
Skirtumas tarp „Java“agregavimo ir sudėties

Video: Skirtumas tarp „Java“agregavimo ir sudėties

Video: Skirtumas tarp „Java“agregavimo ir sudėties
Video: Java: Object-Oriented Programming Concepts: Associations, Aggregation & Composition| packtpub.com 2024, Lapkritis
Anonim

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.

Skirtumas tarp „Java“agregavimo ir sudėties
Skirtumas tarp „Java“agregavimo ir sudėties

01 pav.: pažymi klasę

Skirtumas tarp „Java“agregavimo ir sudėties
Skirtumas tarp „Java“agregavimo ir sudėties

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ą.

„Java“agregavimo ir sudėties skirtumas_03 pav
„Java“agregavimo ir sudėties skirtumas_03 pav

03 pav. Klasės klasė

„Java“agregavimo ir sudėties skirtumas_04 pav
„Java“agregavimo ir sudėties skirtumas_04 pav

04 pav.: mokyklos klasė

Pagrindinis „Java“agregavimo ir sudėties skirtumas
Pagrindinis „Java“agregavimo ir sudėties skirtumas

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.

Rekomenduojamas: