Öröklés (programozás)
Seo Wiki - Search Engine Optimization és programozási nyelvek
Öröklési - az egyik a négy legfontosabb objektum-orientált programozási mechanizmus (., Együtt tokozás és polimorfizmus absztrakció), amely lehetővé teszi, hogy egy új osztályát írják, a meglévő (szülő), valamint a tulajdonságok és a funkcionalitás a szülő osztály kölcsönzött egy új osztályt.
Más szóval, a származtatott osztály hajtja végre a leírás egy osztályú meglévő (az alap osztály). Ez lehetővé teszi, hogy kezelni a származtatott osztály objektumok hasonló módon, mint az alap osztályú objektumok [1].
típusú öröklés
egyszerű öröklés
Osztály. ahonnan öröklési, úgynevezett alap vagy a szülő (Eng. alap osztály). Osztályok, hogy történt a bázis, az úgynevezett leszármazottai. utódai vagy azokból származó osztályok (Engl. származtatott osztály).
Bizonyos nyelvek absztrakt osztályok. Az absztrakt osztály - egy osztály, amely legalább egy absztrakt módszer. ez a programban leírt, azt a mezőt. technikák és nem lehet közvetlenül létrehozni az objektumot. Azaz, az absztrakt osztály csak örökölni. Objektumokat hoz létre csak az alapján a származtatott osztályok öröklik az absztrakt. Például, egy absztrakt osztály lehet egy alap osztály „University alkalmazottja”, amelyek öröklődnek osztályokba „hallgatója”, „tanár” és a t. D. Mivel a származtatott osztályokban közös területeken és funkciók (például, „születési dátum” mező), ezek a osztály tagjai lehetnek leírt alap osztály. Program objektumokat hoz létre alapján „végzős diák” osztály „a professzor”, de nincs értelme, hogy hozzon létre egy objektumot alapján az osztály „munkatársa az egyetem.”
többszörös öröklés
Amikor többszörös öröklés osztályok közötti lehet több, mint egy szülő. Ebben az esetben az osztály örökli összes módszer őseik. Előnye ennek a megközelítésnek nagyobb rugalmasságot. Többszörös öröklés valósul C ++. Más nyelven, képes erre, meg kell jegyezni, Python és az Eiffel. Többszörös öröklés támogatja az UML nyelvet.
Többszörös öröklés - egy lehetséges hibaforrás, hogy előfordulhat jelenléte miatt az azonos módszerrel nevek az ősök. A nyelvek, amelyek úgy vannak elhelyezve, mint az örökösök C ++ (Java. C #, stb), többszörös öröklés elvetették a felületeket. Szinte mindig lehetséges, hogy elkerülje az E mechanizmus alkalmazása. Azonban, ha a szükség még mindig ott van, akkor a konfliktusok megoldása örökölt módszerek ugyanazt a nevet használja, előfordulhat például, hogy alkalmazza a kiterjesztése elől működés - „::” - hívja egy bizonyos módszer egy adott szülő.
Próbálják megoldani a problémát, hogy az azonos nevű őse módszerek készült a nyelv a Eifel. amelyben a leírás az új osztályt kell importálni egyértelműen meg kell határozni a tagok mindegyike a származtatott osztályok és nevük a származtatott osztály.
A legtöbb modern objektumorientált programozási nyelvek (C #. Java. Delphi és mások.) Egyaránt támogatja örökölt egy őse osztály és megvalósítsa több interfész ugyanabba az osztályba. Ez a mechanizmus lehetővé teszi, hogy nagyrészt helyettesíti a többszörös öröklés - az alkalmazott interfészek szükséges újból világosan, hogy kiküszöböli a hibákat az örökséget alkalmassága azonos módszerekkel különböző osztályainak ősök.
Egységes alap osztály
Bizonyos programozási nyelvek, minden osztály explicit vagy implicit módon örökölnek bizonyos alap osztály. Smalltalk egyike volt az első nyelv, hogy a használt ezt a koncepciót. Ezek a nyelvek a Java (objektum), C # (System.Object), Delphi (TObject).
Öröklődés C ++
A C ++, háromféle öröklés: nyilvános. védett. privát. Előírást hozzáférés alap osztály tagjai változtak az utódok az alábbiak szerint:
- míg az állami öröklődése összes selejtező változatlan marad.
- védett öröklődése összes selejtező változatlan marad, kivéve a selejtező nyilvános, ami változik a megadó védett (azaz a nyilvános tagjai az alap osztály az utódok védelme).
- amikor saját öröklődését a selejtezők változott magán.
Az egyik fő előnye az állami-örökség az, hogy a mutató egy alosztály egyik implicite átalakítható egy mutatót alap osztály, vagyis a fenti példában, akkor írj:
Ez egy nagyszerű funkció megnyitja a lehetőséget egy dinamikus típusú azonosítás (RTTI).