Základní třída - .NET

Autor: Peter Berry
Datum Vytvoření: 11 Srpen 2021
Datum Aktualizace: 22 Červen 2024
Anonim
Základní třída - .NET - Technologie
Základní třída - .NET - Technologie

Obsah

Definice - Co znamená základní třída - .NET?

Základní třída v con C # je třída, která se používá k vytváření nebo odvozování jiných tříd. Třídy odvozené od základní třídy se nazývají podřízené třídy, podtřídy nebo odvozené třídy. Základní třída nedědí žádnou jinou třídu a je považována za nadřazenou odvozenou třídu.

Základní třída tvoří prostředky, kterými se dědičnosti dosahuje derivací. Třída odvozená od základní třídy zdědí data i chování. Například vozidlo může být základní třída, ze které lze odvodit odvozené třídy automobil a autobus. Jak auto, tak autobus jsou vozidla a každá z nich představuje vlastní specializaci základní třídy.

Stejně jako v Javě, ale na rozdíl od C ++, C # nepodporuje několik dědičností tříd. C # se liší od Java výslovným označením virtuálního modifikátoru pro všechny virtuální členy.

Základní třída je také známá jako nadřazená třída nebo nadtřída.


Úvod do Microsoft Azure a Microsoft Cloud | V této příručce se dozvíte, o čem cloud computing je a jak vám může Microsoft Azure pomoci migrovat a řídit podnikání z cloudu.

Techopedia vysvětluje základní třídu - .NET

Základní třída pomáhá vytvořit specializovanou třídu, která může znovu použít kód, který je implicitně získán ze základní třídy (kromě konstruktorů a destruktorů), a rozšiřuje funkčnost základní třídy přidáním nebo přepsáním členů relevantních pro odvozenou třídu v odvozené třídě. V C # jsou události deklarovány v základní třídě, kterou lze vyvolat z odvozených tříd. Generické třídy, které se používají k zapouzdření operací, které nejsou specifické pro konkrétní typ dat, slouží jako základní třídy a poskytují obecné chování, aby bylo dosaženo flexibility a opětovného použití kódu.

Klíč vlastnosti základní třídy v C #:


  • K členům základní třídy (konstruktor, metoda instance nebo přístupový objekt instance) se přistupuje v odvozené třídě pomocí klíčového slova „základní“.
  • Základní třídy jsou automaticky vytvořeny před odvozenými třídami.
  • Odvozená třída může komunikovat s základní třídou během instancí voláním konstruktoru základní třídy s odpovídajícím seznamem parametrů.
  • K členům základní třídy lze přistupovat z odvozené třídy prostřednictvím explicitního obsazení.
  • Protože základní třída sama o sobě může být odvozená třída, třída může mít mnoho základních tříd.
  • Členové odvozené třídy mají přístup k veřejným, chráněným, interním a chráněným vnitřním členům základní třídy.
  • Vzhledem k přechodné povaze dědičnosti, i když odvozená třída má pouze jednu základní třídu, zdědí členy deklarované v nadřazené základní třídě.
  • Deklarováním metody v základní třídě jako virtuální může odvozená třída přepsat tuto metodu vlastní implementací. Jak přepsaná, tak převažující metoda a vlastnost musí mít stejné modifikátory úrovně přístupu, jako jsou virtuální, abstraktní nebo přepis.
  • Je-li pro metodu použito klíčové slovo „abstrakt“, mělo by být přepsáno v jakékoli netabstraktní třídě, která z této třídy přímo dědí.
  • Abstraktní základní třídy jsou vytvářeny pomocí klíčového slova „abstraktní“ ve své deklaraci a používají se k zabránění přímé iniciace pomocí klíčového slova „nové“. Lze je použít pouze prostřednictvím odvozených tříd, které implementují abstraktní metody.
  • Základní třída může zabránit tomu, aby z ní ostatní třídy zdědily prohlášením všech členů za „zapečetěné“.
  • Členové základní třídy mohou být skryti v odvozené třídě pomocí klíčového slova „new“, což znamená, že člen není zamýšlen jako přepis základního členu. Pokud není použit nový, kompilátor vygeneruje varování.

Ačkoli lze základní třídu a rozhraní používat zaměnitelně, třídy jsou z hlediska verzování flexibilnější než rozhraní. Ve většině případů je preferována základní třída kromě následujících scénářů, kde:


  • Základem odvozené třídy je několik nepříbuzných tříd
  • Třídy již mají zavedené základní třídy
  • Agregace není vhodná ani praktická
Tato definice byla napsána v konu C #