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