Kuinka virtuaalinen perintö ratkaisee timanttiongelman?
Kuinka virtuaalinen perintö ratkaisee timanttiongelman?

Video: Kuinka virtuaalinen perintö ratkaisee timanttiongelman?

Video: Kuinka virtuaalinen perintö ratkaisee timanttiongelman?
Video: Tahtotilasta työhön – Työkyvyn tuki hyvinvointialueilla, kunnissa ja yhdyspinnoilla, 19.5.2022 2024, Marraskuu
Anonim

Virtuaalinen perintö ratkaisee klassikko Timantti ongelma ”. Se varmistaa, että lapsiluokka saa vain yhden esiintymän yhteisestä perusluokasta. Toisin sanoen Snake-luokka tahtoa on vain yksi esiintymä LivingThing-luokasta. Eläimet ja Matelijat -luokat jakavat tämän tapauksen.

Mikä tässä suhteessa on timanttiongelma perinnössä?

timantti ongelma ” on moniselitteisyys, joka voi syntyä useiden sallimisen seurauksena perinnön . Se on vakava ongelma kielille (kuten C++), jotka sallivat useita perinnön osavaltiosta. Javassa kuitenkin useita perinnön ei ole sallittu luokille, vain rajapinnoille, eivätkä ne sisällä tilaa.

Tämän jälkeen kysymys kuuluu, kuinka virtuaalinen perusluokka auttaa periytymisessä? Virtuaaliset perusluokat tarjoavat tavan säästää tilaa ja välttää epäselvyyksiä luokkaa hierarkiat, jotka käyttävät useita perintöjä. Kun perusluokka on määritelty a virtuaalikanta , se voi toimia epäsuorana pohja useammin kuin kerran ilman tietojensa jäsenten päällekkäisyyttä.

Tiedätkö myös, mitä on virtuaalinen julkinen perintö?

Virtuaalinen perintö on C++-tekniikka, joka varmistaa, että perusluokan jäsenmuuttujista on vain yksi kopio peritty lapsenlapsista peräisin olevien luokkien toimesta. Tämä ominaisuus on hyödyllisin useille perinnön , koska se tekee virtuaalinen perustaa yhteisen aliobjektin johtavalle luokalle ja kaikille siitä johdetuille luokille.

Kuinka käyttöliittymä ratkaisee timanttiongelman?

Kuinka käyttämällä an käyttöliittymä Javassa ratkaista the timantti ongelma ? Eli jos kaksi käyttöliittymät on sama menetelmä allekirjoitus ja luokka haluaa periä (toteutetaan Java) näistä kahdesta käyttöliittymät , ei ole olemassa "menetelmäkappaletta" perittäväksi, joten " timantti -perintö" ongelma vältetään.

Suositeltava: