Tukeeko Scala moniperintöä?
Tukeeko Scala moniperintöä?

Video: Tukeeko Scala moniperintöä?

Video: Tukeeko Scala moniperintöä?
Video: Garmin Venu 2 Plus в тесте - на что способны новейшие смарт-часы Garmin? 2024, Marraskuu
Anonim

Scala ei sallia varten moninkertainen perintö sinänsä, mutta mahdollistaa laajenemisen useita ominaisuuksia. Ominaisuuksia käytetään jakamaan rajapintoja ja kenttiä luokkien välillä. Ne ovat samanlaisia kuin Java 8:n käyttöliittymät. Luokat ja objektit voivat laajentaa piirteitä, mutta ominaisuuksia ei voida ilmentää, joten niillä ei ole parametreja.

Onko siis moninkertainen perintö mahdollista Kotlinissa?

Ennen kuin jatkamme, minun on huomattava, että koska luokilla voi olla tila- ja alustuslogiikka (mukaan lukien sivuvaikutukset), Kotlin ei salli totta moninkertainen perintö koska se voi aiheuttaa tuhoa hieman monimutkaisemmissa luokkahierarkioissa (se sallii kuitenkin ominaisuuksien ilmoittamisen ja menetelmien toteuttamisen rajapinnoissa, Lisäksi, mistä luokasta Scala perii? Se On mekanismi sisään Scala millä luokka on sallittu periä toisen ominaisuudet (kentät ja menetelmät). luokkaa . Tärkeä terminologia: Super Luokka : luokkaa joiden ominaisuuksia ovat perinnöllinen on tunnetaan nimellä superluokka (tai tukikohta luokkaa tai vanhempi luokkaa ).

On myös tiedettävä, kuinka Scala ratkaisee perinnöllisen timanttiongelman automaattisesti?

Scala . Scala ei salli useampaa perinnön sinänsä, mutta antaa meille mahdollisuuden laajentaa useita ominaisuuksia. Scala ratkaisee timantti ongelma määrittelemällä yksi pääsuperominaisuus, jonka koodia käytetään kaikkien superominaisuuksien joukossa. Pääsana asetetaan Extens-avainsanalla, kun taas muut asetetaan avainsanalla.

Kuinka C++ tukee moniperintöä?

Toisin kuin monet muut olio-ohjelmointikielet, C++ sallii moninkertainen perintö . Moniperintö mahdollistaa lapsiluokan periä useammasta kuin yhdestä vanhempien luokasta. Eläimet ja Matelijat luokat periä siitä. Vain Animal-luokka ohittaa metodin breathe().

Suositeltava: