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 interfaceFriend
.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.