Quando a subclasse herda a classe base, ela obtém todas as propriedades, campos e métodos da interface da classe base. Mas, às vezes, os atributos e métodos exclusivos definidos na subclasse recebem o mesmo nome que as propriedades ou métodos da interface herdados da classe base. O VB.NET permite o uso de atributos e métodos com o mesmo nome que os atributos de interface ou métodos da classe base nas subclasses, ou seja, em uma classe, atributos ou métodos com o mesmo nome podem concluir funções diferentes por meio de códigos diferentes, o que é alcançado Polimorfismo de classe. O polimorfismo melhora a flexibilidade das subclasses e a praticidade dos programas.
Para usar atributos ou métodos com o mesmo nome, mas diferentes funções na subclasse que os atributos ou métodos da classe pai, um método simples é substituir os atributos ou métodos definidos na classe base original. Substituída pelo código relevante da subclasse, a palavra-chave Substituições é usada para cobrir a propriedade ou o método.
Módulo Module1
Classe Pública
My MyWords Protected As String
Propriedade pública substituível Words () como String
Get
Return MyWords
End Get
Set (valor ByVal como String)
MyWords = value
End Set
End Property
Substituível em público sub Speak ()
MsgBox (MyWords, MsgBoxStyle.Critical, "基 类")
End Sub
End Class
Vendedor de classe pública
herda pessoal
Propriedade pública substitui Palavras como String
Get
Return MyBase. Words
End Get
Set (Valor ByVal como String)
Selecionar Valor
do caso Case "Hello", "Thank You", "Goodbye", "Welcome Again", "Bye Bye"
MyWords = value
Case else
MsgBox ( "Por favor, use linguagem civilizada, apenas palavras foram cancelados", MsgBoxStyle.OkOnly, "vendedor")
End Select
End Set
End Property
End Class
Classe pública O cliente
herda equipe O
público substitui Sub Speak ()
Se MyWords = "" Então
MsgBox ("Olá, quero comprar algo", MsgBoxStyle.Information, "Customer")
Words = "Obrigado"
Else
MsgBox (MyWords, MsgBoxStyle.Information, "Cliente") Classe
Fim Se
Fim Sub
Fim
Sub Main ()
Dim Guest como novo cliente
Dim Salesman como novo
vendedor Salesman.Words = "Do What" 'Cancelado
Salesman.Words = "Olá"
Salesman.Speak ()
Guest.Speak ()
Guest.Speak ()
Salesman.Words = "不用 谢"
Salesman.Speak ()
Guest.Words = "再见"
Guest.Speak ()
Salesman.Words = "Bem-vindo novamente"
Salesman.Speak ()
Console.Read ()
End Sub
Módulo final