Ejemplo 025 polimorfismo

       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
 

Publicados 146 artículos originales · ganado elogios 0 · Vistas 2753

Supongo que te gusta

Origin blog.csdn.net/ngbshzhn/article/details/105544679
Recomendado
Clasificación