Cuando la subclase hereda la clase base, obtendrá todas las propiedades de interfaz, campos y métodos de la clase base. Pero a veces los atributos y métodos únicos definidos en la subclase reciben el mismo nombre que las propiedades de interfaz o los métodos heredados de la clase base. VB.NET permite el uso de atributos y métodos con el mismo nombre que los atributos de interfaz o métodos de la clase base en subclases, es decir, en una clase, los atributos o métodos con el mismo nombre pueden completar diferentes funciones a través de diferentes códigos. Polimorfismo de clase. El polimorfismo mejora la flexibilidad de las subclases y la practicidad de los programas.
Para usar atributos o métodos con el mismo nombre pero con funciones diferentes en la subclase que los atributos o métodos de la clase principal, un método simple es anular los atributos o métodos definidos en la clase base original. Reemplazada por el código relevante de la subclase, la palabra clave Overrids se usa para cubrir la propiedad o el método.
Módulo Módulo1
Clase pública
My MyWords protegido como cadena
Palabras de propiedad pública reemplazable () Como cadena
Obtener
retorno MyWords
Fin Obtener
conjunto (valor ByVal como cadena)
MyWords = valor
Final Establecer
propiedad final
Public Overridable Sub Speak ()
MsgBox (MyWords, MsgBoxStyle.Critical, "基 类")
End Sub
End End Class
Vendedor de clase pública
hereda personal
El público anula las palabras de propiedad como cadena
Obtener
Regresar MyBase Palabras
finales Obtener
Establecer (valor ByVal como cadena)
Seleccionar valor de
caso Caso "Hola", "Gracias", "Adiós", "Adiós nuevamente", "Bye Bye"
MyWords = valor
Caso Else
MsgBox ("Por favor use lenguaje civilizado, las palabras anteriores fueron canceladas", MsgBoxStyle.OkOnly, "vendedor")
Finalizar Seleccionar
Finalizar
Finalizar Propiedad
Finalizar Clase
Cliente de clase pública
hereda al personal Anulaciones
públicas Sub Speak ()
Si MyWords = "" Entonces
MsgBox ("Hola, quiero comprar algo", MsgBoxStyle.Information, "Customer")
Palabras = "Gracias"
Else
MsgBox (MyWords, MsgBoxStyle.Information, "Cliente")
End If
End Sub
End End Class
Sub Main ()
Dim Guest como nuevo cliente
Dim Salesman como nuevo
vendedor Salesman.Words = "Do What" 'Canceled
Salesman.Words = "Hello"
Salesman.Speak ()
Guest.Speak ()
Guest.Speak ()
Salesman.Words = "不用 谢"
Salesman.Speak ()
Guest.Words = "再见"
Guest.Speak ()
Salesman.Words = "Bienvenido de nuevo"
Salesman.Speak ()
Console.Read ()
End Sub
Módulo final