Declaração de herança

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ório. O nome da classe da qual essa classe deriva.

-or-

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

Observações

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

Você pode usar Inherits somente em uma classe ou interface. Isso significa que o contexto da declaração para 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 usa a Inherits instrução, você pode especificar apenas uma classe base.

    Uma classe não pode herdar de uma classe aninhada nela.

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

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

    Uma interface não pode herdar de uma interface aninhada nela.

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

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

Exemplo 1

O exemplo a seguir usa a Inherits instrução para mostrar como uma classe nomeada 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 nomeada thisInterface agora inclui todas as definições no IComparable, IDisposablee IFormattable interfaces 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.

Consulte também