Instrução Inherits

Faz com que a classe ou interface atual herde os atributos, variáveis, propriedades, procedimentos e eventos de outra classe ou conjunto de interfaces.

Sintaxe

Inherits basetypenames  

Partes

Termo Definição
basetypenames Obrigatórios. O nome da classe da qual essa classe deriva.

-ou-

Os nomes das interfaces das quais essa interface deriva. Use vírgulas para separar vários nomes.

Comentários

Se usada, a instrução Inherits deve ser a primeira linha não em branco e sem comentários em uma definição de classe ou interface. Ela deve seguir imediatamente a instrução Class ou Interface.

Você só pode usar Inherits em uma classe ou interface. Isso significa que o contexto de declaração de uma herança não pode ser um arquivo de origem, namespace, estrutura, módulo, procedimento ou bloco.

Regras

  • Herança de classe. Se uma classe usar a instrução Inherits, você poderá especificar apenas uma classe base.

    Uma classe não pode herdar de uma classe que está aninhada dentro dela.

  • Herança de interface. Se uma interface usar a instrução Inherits, você poderá especificar uma ou mais interfaces base. Você pode herdar de duas interfaces mesmo que elas definam um membro com o mesmo nome. Se você fizer isso, o código de implementação deverá usar a qualificação de nome para especificar qual membro ele está implementando.

    Uma interface não pode herdar de outra interface que tenha um nível de acesso mais restritivo. Por exemplo, uma interface Public não pode herdar de uma interface Friend.

    Uma interface não pode herdar de uma interface que esteja aninhada dentro dela.

Um exemplo de herança de classe no .NET Framework é a classe ArgumentException, que herda da classe SystemException. Isso fornece a ArgumentException todas as propriedades e procedimentos predefinidos exigidos por exceções do sistema, como a propriedade Message e o método ToString.

Um exemplo de herança de interface no .NET Framework é a interface ICollection, que herda da interface IEnumerable. Isso faz com que ICollection herde a definição do enumerador necessário para percorrer uma coleção.

Exemplo 1

O exemplo a seguir usa a instrução Inherits para mostrar como uma classe chamada thisClass pode herdar todos os membros de uma classe base chamada 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

Exemplo 2

O exemplo a seguir mostra a herança de várias interfaces.

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

A interface chamada thisInterface agora inclui todas as definições nas interfaces IComparable, IDisposable e IFormattable que os membros herdados fornecem, respectivamente, para comparação específica de tipo de dois objetos, liberando recursos alocados e expressando o valor de um objeto como um String. Uma classe que implementa thisInterface deve implementar cada membro de cada interface base.

Confira também