Obsah:
Definice - Co znamená dědičnost?
Dědičnost v C # je schopnost vytvořit třídu, která dědí atributy a chování z existující třídy. Nově vytvořená třída je odvozená (nebo podřízená) třída a stávající třída je základní (nebo nadřazená) třída.
Dědičnost je jednou z klíčových vlastností objektově orientovaného programování. Výhody dědičnosti jsou součástí důvodu, proč lze strukturální programování nahradit objektově orientovaným programováním.
Dědičnost v C # je navržena jak na úrovni implementace, tak na úrovni rozhraní. Dědičnost implementace zahrnuje kód z jedné třídy, který je znovu použit v jiné, zatímco dědičnost rozhraní implikuje dědičnost pouze podpisů funkcí z jednoho typu na druhý.
Dědičnost je známá také jako generalizace.
Techopedia vysvětluje dědičnost
C # nepodporuje vícenásobnou dědičnost, což znamená, že třída může být odvozena pouze z jedné základní třídy, ačkoli třída může být odvozena z jednoho nebo více rozhraní. Díky tranzitivní povaze dědičnosti zděděná třída zdědí všechny členy svých předků.
Například třídy Car a Bus mohou být odvozeny ze základní třídy, vozidla, dědičností, protože Car i Bus jsou typy vozidel.
Mezi hlavní rysy dědičnosti patří:
- Ve odvozené třídě jsou přístupní všichni členové základní třídy, s výjimkou těch, kteří mají soukromou přístupnost.
- Všichni členové základní třídy jsou zděděni od základní třídy kromě konstruktorů a destruktorů.
- Na rozdíl od C ++ musí virtuální metody ve odvozené třídě použít modifikátor „přepsat“, aby přepsal zděděného člena.
- Pro skrytí zděděného člena se stejným jménem a podpisem v odvozené třídě lze použít „nový“ modifikátor.
- Aby se zabránilo přímé instanci třídy, lze použít „abstraktní“ modifikátor.
- Aby se zabránilo další derivaci základní třídy, lze ji deklarovat pomocí "zapečetěného" modifikátoru.
- Umožňuje konstrukci hierarchie souvisejících tříd, které mohou znovu použít, rozšířit a změnit chování definovaná ve stávajících třídách.
- Umožňuje opakované použití kódu, zkracuje čas a úsilí při kódování a testování.
- Pomáhá zlepšit modularitu a výkon tím, že rozdělí velké kusy kódu na menší, lépe spravovatelné kusy.
- Tvoří prostředky k dosažení polymorfismu, což umožňuje objektu reprezentovat více než jeden typ.
Tato definice byla napsána v kontextu C #
