Exemplo 025 polimorfismo

       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
 

Publicado 146 artigos originais · ganhou elogios 0 · Vistas 2753

Acho que você gosta

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