Tartalomjegyzék:
Meghatározás - Mit jelent a Base Class - .NET?
A bázisosztály a C # kontextusában egy olyan osztály, amelyet más osztályok létrehozására vagy származtatására használnak. Az alaposztályból származó osztályokat gyermekosztályoknak, alosztályoknak vagy származtatott osztályoknak nevezzük. Az alaposztály nem örököl más osztálytól, és egy származtatott osztály szülőjének tekintik.
Az alaposztály képezi azokat az eszközöket, amelyekkel az öröklés a származtatással valósul meg. Az alaposztályból származó osztály örökli mind az adatokat, mind a viselkedést. Például, a jármű lehet egy alaposztály, amelyből a származtatott osztályok az autó és a busz származtathatók. Az autó és a busz egyaránt járművek, és mindegyikük képviseli a saját alapterületük szakterületét.
Mint a Java-ban, a C ++ -kal ellentétben a C # nem támogatja az osztályok több öröklését. A C # abban különbözik a Java-tól, hogy egy virtuális módosítót kifejezetten megjelöl minden virtuális tag számára.
Az alap osztályt szülő osztálynak vagy szuper osztálynak is nevezik.
A Techopedia magyarázza az Alap osztály - .NET-et
Az alaposztály segítséget nyújt egy olyan speciális osztály létrehozásában, amely újra felhasználhatja az alap osztályból hallgatólagosan nyert kódot (kivéve a konstruktort és a destruktort) és kibővíti az alap osztály funkcionalitását azáltal, hogy hozzáadja vagy felülbírálja a származtatott osztályba tartozó származtatott osztályhoz tartozó tagokat. A C #-ban az eseményeket alaposztályban deklarálják, amelyeket származtatott osztályokból lehet növelni. Az általános osztályok, amelyeket egy adott adattípusra nem jellemző műveletek beágyazásához használnak, alaposztályokként szolgálnak, biztosítva az általános viselkedést a rugalmasság és a kód újrafelhasználhatóságának elérése érdekében.
A C # alaposztály legfontosabb tulajdonságai:
- Az alap osztály tagjai (kivitelező, példány módszer vagy példány tulajdonság-hozzáférő) származtatott osztályban érhetők el az "alap" kulcsszó segítségével.
- Az alaposztályok automatikusan megjelennek a származtatott osztályok előtt.
- A származtatott osztály képes kommunikálni az alappályával az inicializálás során, ha egy alapparaméter-hívóhoz hozzárendel egy megfelelő paraméterlistát.
- Az alaposztály tagjai a származtatott osztályból egy explicit leadással érhetők el.
- Mivel maga az alap osztály lehet származtatott osztály, az osztálynak sok alap osztály lehet.
- A származtatott osztály tagjai hozzáférhetnek az alaposztály nyilvános, védett, belső és védett belső tagjaihoz.
- Az öröklés tranzitív jellege miatt, bár a származtatott osztálynak csak egy bázisosztálya van, az alaposztály szülőjében deklarált tagokat örökli.
- Az alaposztálybeli módszer virtuálisnak nyilvánításával a származtatott osztály felülbírálhatja ezt a módszert a saját megvalósításával. A felülbírált és a felülbíráló módszernek és a tulajdonságnak ugyanolyan hozzáférési szintű módosítóval kell rendelkeznie, mint például virtuális, elvont vagy felülbíráló.
- Ha az "elvont" kulcsszót használják egy módszerhez, akkor azt felül kell hagyni minden olyan nem absztrakt osztályban, amely közvetlenül az osztálytól örököl.
- Az elvont alaposztályokat a deklarációban szereplő "elvont" kulcsszó alapján hozzák létre, és az "új" kulcsszó használatával megakadályozzák a közvetlen iniciációt. Csak származtatott osztályokon keresztül lehet felhasználni, amelyek elvont módszereket valósítanak meg.
- Egy alaposztály megakadályozhatja, hogy más osztályok öröklődjenek belőle, az összes tagot "lezártnak" nyilvánítva.
- Az alaposztály tagjai egy származtatott osztályban elrejthetők az "új" kulcsszó használatával annak jelzésére, hogy a tagnak nem célja az alapelem felülbírálása. Ha az "új" nem kerül felhasználásra, a fordító figyelmeztetést generál.
Bár az alaposztály és az interfész felcserélhetően használható, az osztályok rugalmasabbak, mint az interfészek verzióképzési szempontból. Az alaposztály a legtöbb esetben előnyben részesített, kivéve a következő forgatókönyveket, ahol:
- Számos független osztály alkotja a származtatott osztály alapját
- Az osztályok már létrehoztak alaposztályokat
- Az aggregálás nem megfelelő vagy praktikus
