Método Virtual C#

Olá tudo bem, vamos a definição da Microsoft sobre Métodos Virtuais

“A virtual function is a member function that you expect to be redefined in derived classes. When you refer to a derived class object using a pointer or a reference to the base class, you can call a virtual function for that object and execute the derived class’s version of the function.”

 

Para melhorar o nosso entendimento vamos conferir o diagrama de class abaixo.

Segue um exemplo básico mostrando o poder do polimorfismo.

public class Pessoa
    {
        public virtual string Nome()
        {
            return "Nome Padrao";
        }
    }

    public class Ricardo : Pessoa
    {
        public override string Nome()
        {
            return "Ricardo";
        }

    }

    public class Paulo : Pessoa
    {
        public override string Nome()
        {
            return "Paulo";
        }
    }

Agora vamos aos testes

 

    [TestClass]
    public class TestMetodoVirtual
    {

        [TestMethod]
        public void deve_retornar_nome_ricardo()
        {
            Pessoa pessoa = new Ricardo();
            Assert.AreEqual("Ricardo", pessoa.Nome());
        }

        [TestMethod]
        public void deve_retornar_nome_paulo()
        {
            Pessoa pessoa = new Paulo();
            Assert.AreEqual("Paulo", pessoa.Nome());
        }
    }

Conclusão:

Apesar desse exemplo bem simples existe vários Framework que utilizam essa estrategia, uma dica legal e utilizar e conhecer o Hook Method , até aproxima pessoal.

One Response so far.

  1. Renata Oliveira disse:
    Bom dia,
    Você poderia me ajudar ? Eu sou iniciante e estou auxiliando no desenvolvimento de um projeto em .net
    Pra começar essa é a tela http://static.tumblr.com/fg56mzw/t5cmu3kbc/sem_t__tulo.jpg

    Estou com dificuldades no botão Validar do formulário.

    Pré-condições:

    – Sistema apresenta dados da Proposta Inscrição e solicita confirmar validação

    – Existência de mais de um parentesco do tipo “Cônjuge ou Companheiro” – Exibe a mensagem : “Existe mais de uma ocorrência de Cônjuge ou Companheiro” – Não valida.

    – Somatório do rateio dos beneficiários, com operação diferente de “exclusão” difere de 100% – Exibe a mensagem: “Rateio dos beneficiários diferente de 100%” – Não valida.

    – Realizar chamada ao método ValidarProposta do serviço PropostaInscricao

    – Sistema valida a proposta e altera a situação para “Validada”.

LEAVE A COMMENT