Perimän Ja Koostumuksen Ero

Perimän Ja Koostumuksen Ero
Perimän Ja Koostumuksen Ero

Video: Perimän Ja Koostumuksen Ero

Video: Perimän Ja Koostumuksen Ero
Video: Perimä 5 - perimän ja ympäristön vuorovaikutus 2024, Huhtikuu
Anonim

Perintö vs. koostumus

Perintö ja sommittelu ovat kaksi tärkeää käsitteitä, jotka löytyvät OOP: sta (Object Oriented Programming). Yksinkertaisesti sanottuna sekä koostumus että perintö käsittelevät lisäominaisuuksien tai käyttäytymisen tarjoamista luokalle. Perintö on luokan kyky periä ominaisuudet ja käyttäytyminen vanhemmalta luokalta laajentamalla sitä. Toisaalta sommittelu on luokan kyky sisältää eri luokkien objekteja jäsendatana.

Mikä on perintö?

Kuten edellä mainittiin, perintö on luokan kyky periä ominaisuudet ja käyttäytyminen vanhemmalta luokalta laajentamalla sitä. Perintö tarjoaa olennaisesti koodin uudelleenkäytön sallimalla laajentaa olemassa olevan luokan ominaisuuksia ja käyttäytymistä uudella määritetyllä luokalla. Jos luokka A laajentaa B: tä, luokkaa B kutsutaan emoluokaksi (tai superluokaksi) ja luokkaa A kutsutaan lapsiluokaksi (tai johdetuksi luokaksi / alaluokka). Tässä esimerkkitapauksessa luokka A perii kaikki superluokan (B) julkiset ja suojatut määritteet ja menetelmät. Alaluokka voi valinnaisesti ohittaa (tarjota menetelmille uuden tai laajennetun toiminnallisuuden) emoluokalta perityn käyttäytymisen.

Perintö edustaa "on-a" -suhdetta OOP: ssa. Tämä tarkoittaa olennaisesti sitä, että A on myös B. Toisin sanoen B voi olla luokka, jolla on yleinen kuvaus tietystä todellisen maailman kokonaisuudesta, mutta A määrittää tietyn erikoistumisen. Todellisessa maailmassa tapahtuvassa ohjelmointiongelmassa Henkilö-luokka voidaan laajentaa luomaan Työntekijä-luokka. Tätä kutsutaan erikoistumiseksi. Mutta voit myös ensin luoda Työntekijä-luokan ja sitten yleistää sen myös Henkilö-luokkaan (ts. Yleistys). Tässä esimerkissä työntekijällä on kaikki henkilön ominaisuudet ja käyttäytyminen (eli työntekijä on myös henkilö) ja se voi sisältää myös joitain lisätoimintoja (joten henkilö ei ole työntekijä).

Mikä on kokoonpano?

Koostumus on luokan kyky sisältää eri luokkien objekteja jäsendatana. Esimerkiksi luokka A voi sisältää jäsenenä luokan B objektin. Tässä kaikki B: ssä määritellyt julkiset menetelmät (tai toiminnot) voidaan suorittaa luokassa A. Luokasta A tulee kontti, kun taas luokka B: sta suljettu luokka. Koostumusta kutsutaan myös nimellä Containership. Tässä esimerkissä voidaan sanoa, että luokka A koostuu luokasta B. OOP: ssa Composition edustaa "on-a" -suhdetta. On tärkeää huomata, että vaikka säilöllä on pääsy suorittamaan kaikki suljetun luokan julkiset menetelmät, se ei pysty muuttamaan tai tarjoamaan lisätoimintoja. Kun kyse on tosielämän ohjelmointiongelmasta, luokan TextBox esine voi sisältyä luokan lomakkeeseen,ja siten voidaan sanoa, että lomake sisältää tekstiruudun (tai vaihtoehtoisesti lomake koostuu tekstiruudusta).

Mitä eroa on perinnöllä ja sommittelulla?

Vaikka perintö ja sommittelu ovat kaksi OOP-käsitettä, ne ovat melko erilaisia siinä, mitä ne antavat ohjelmoijalle mahdollisuuden saavuttaa. Perintö on luokan kyky periä ominaisuudet ja käyttäytyminen vanhemmalta luokalta laajentamalla sitä, kun taas Koostumus on luokan kyky sisältää eri luokkien objekteja jäsendatana. Jos luokkaa laajennetaan, se perii kaikki julkiset ja suojatut ominaisuudet / käyttäytymisen, ja aliluokka voi ohittaa nämä käyttäytymismuodot. Mutta jos luokka sisältyy toiseen, säilö ei kykene muuttamaan tai lisäämään käyttäytymistä sisältämään. Perintö edustaa "on-a" -suhdetta OOP: ssa, kun taas "Composition" edustaa "on-a" -suhdetta.

Suositeltava: