Inherits – příkaz

Způsobí, že aktuální třída nebo rozhraní dědí atributy, proměnné, vlastnosti, procedury a události z jiné třídy nebo sady rozhraní.

Syntaxe

Inherits basetypenames  

Součástky

Pojem definice
basetypenames Povinný: Název třídy, ze které je tato třída odvozena.

nebo

Názvy rozhraní, ze kterých se toto rozhraní odvozuje. K oddělení více názvů použijte čárky.

Poznámky

Pokud se použije, Inherits musí být příkaz prvním neprázdným řádkem bez komentáře v definici třídy nebo rozhraní. Měl by okamžitě následovat za příkazem nebo Interface příkazemClass.

Můžete použít Inherits pouze ve třídě nebo rozhraní. To znamená, že kontext deklarace dědičnosti nemůže být zdrojový soubor, obor názvů, struktura, modul, procedura nebo blok.

Pravidla

  • Dědičnost tříd. Pokud třída používá příkaz Inherits , můžete zadat pouze jednu základní třídu.

    Třída nemůže dědit z vnořené třídy.

  • Dědičnost rozhraní. Pokud rozhraní používá Inherits příkaz, můžete zadat jedno nebo více základních rozhraní. Můžete dědit ze dvou rozhraní, i když každý z nich definuje člen se stejným názvem. Pokud to uděláte, musí prováděcí kód použít kvalifikaci názvu k určení člena, který implementuje.

    Rozhraní nemůže dědit z jiného rozhraní s přísnější úrovní přístupu. Rozhraní například Public nemůže dědit z Friend rozhraní.

    Rozhraní nemůže dědit z rozhraní vnořeného do něj.

Příkladem dědičnosti tříd v rozhraní .NET Framework je ArgumentException třída, která dědí z SystemException třídy. To poskytuje ArgumentException všechny předdefinované vlastnosti a procedury vyžadované výjimkami systému, jako Message je vlastnost a ToString metoda.

Příkladem dědičnosti rozhraní v rozhraní .NET Framework je ICollection rozhraní, které dědí z IEnumerable rozhraní. To způsobí ICollection , že dědí definici enumerátoru potřebného k procházení kolekce.

Příklad 1

Následující příklad používá příkaz Inherits k zobrazení, jak pojmenovaná thisClass třída může dědit všechny členy základní třídy s názvem anotherClass.

Public Class thisClass
    Inherits anotherClass
    ' Add code to override, overload, or extend members
    ' inherited from the base class.
    ' Add new variable, property, procedure, and event declarations.
End Class

Příklad 2

Následující příklad ukazuje dědičnost více rozhraní.

Public Interface thisInterface
    Inherits IComparable, IDisposable, IFormattable
    ' Add new property, procedure, and event definitions.
End Interface

Rozhraní pojmenované thisInterface nyní zahrnuje všechny definice v IComparable, IDisposablea IFormattable rozhraní zděděné členy poskytují v uvedeném pořadí pro porovnání specifické pro typ dva objekty, uvolnění přidělených prostředků a vyjádření hodnoty objektu Stringjako . Třída, která implementuje thisInterface , musí implementovat každý člen každého základního rozhraní.

Viz také