Keresés

Új hozzászólás Aktív témák

  • WonderCSabo

    félisten

    válasz Lacces #2666 üzenetére

    Az öröklődés azt jelenti, hogy a gyerek mindent örököl az ősétől. Csak egyes dolgokat nem tud közvetlenül elérni.

    A gyermek megtudja hívni az elfedett statikus adatmezőket és metódusokat?

    Az elfedés pont azt jelenti, hogy az ami az ősben volt, azt nem látszik a gyerekben, mert azokat új metódusok elrejtik. Az elrejtő metódusokat tudod meghívni a gyerekben.

  • Chipi333

    csendes tag

    válasz Lacces #2666 üzenetére

    "Mert végül is ha örököl, akkor a gyermek osztály mindent másol a szülőtől?"
    Igen, alapvetően mindent másol, de a private dolgokhoz közvetlenül nem fér hozzá, csak az ősben definiált protected/public metódusokon keresztül.

    "A gyermek megtudja hívni az elfedett statikus adatmezőket és metódusokat?"
    A statikus adattagok és metódusok a statikus típushoz kötődnek. Ezért van az hogy nem szokás példányon keresztül elérni őket, mert megtévesztő lehet, ugyanis a referencia statikus típusa határozza meg, hogy melyik lesz meghívva.
    Pl.:
    Szülő.StaticMethod(); //értelemszerúen a Szülő metódusát hívja
    Gyerek.StaticMethod(); //értelemszerúen a Gyerek metódusát hívja
    Szülő sz = new Gyerek();
    sz.StaticMethod(); //a statikus típus(a referencia típusa), azaz a Szülő
    //StaticMethodját fogja hívni és kapsz mellé egy compiler warningot is
    //hogy statikus függvényt nem illik referencián keresztül hívni

    Szóval a gyerekből is eléred, de a szülő típuson keresztül kell rá hivatkozni.

    Tömören kb. ennyiben lehet összefoglalni. De szerintem keress a témáról valami egyetemi jegyzetet és olvasd át, aztán ha valahol nem világos akkor kérdezz.

Új hozzászólás Aktív témák

Hirdetés