Observe a classe
Crie uma classe derivada de chamada que possui os atributos , , . Na classe crie um construtor para a classe e métodos getters para os atributos, e implemente o método que mostre os valores de todos os atributos.
Passo 1
Vamos que vamos, pessoal!
Essa questão já deu pra gente a classe mãe e pediu pra criar uma classe filha. O detalhe da questão é que ela pede pra gente criar um método dentro da classe filha: isso é um polimorfismo!
Vamos escrevendo a classe da questão dentro do nosso código:
Essa classe possui um atributo protegido e dois métodos públicos. O atributo que deve armazenar o nome do paciente, o método que retorna o valor do atributo e o método virtual que imprime um texto com os dados do paciente.
O método é virtual, isso quer dizer que desde o começo ele foi pensado para sofrer polimorfismo.
Passo 2
Vamos recordar como se cria uma herança:
Agora, vamos criar uma classe herdando a classe base :
Agora os atributos e métodos da classe mãe foram copiados para a classe filha. O próximo passo é adicionar os novos atributos que são exclusivos da classe filha:
Para inicializar os atributos da classe vamos desenvolver um construtor. Lembre-se que construtores são funções sem tipo que têm o mesmo nome da classe.
Fique atento a dois detalhes: o atributo é protegido e por isso podemos acessá-lo sem dificuldades, e o segundo é que a classe mãe não possui um construtor e por isso a gente não precisa chamar o construtor da classe mãe.
O próximo passo é criar os métodos getters para que seja possível acessar os novos atributos privados:
Belezinha, a classe está quase pronta. Só falta desenvolver o método
Passo 3
A classe herdou o método da classe mãe. Mas da forma como foi herdado, esse método não consegue utilizar todos os atributos da classe
A melhor solução é executar um polimorfismo que consiste em reescrever o método .
A vantagem de usar um polimorfismo é que a classe filha vai continuar com uma estrutura semelhante a da classe mãe. O que pode ser super útil quando a gente utiliza ponteiros, ou quando existem outros métodos que fazem chamada ao método “polimorfado”.
Para executar o polimorfismo, é só declarar o método novamente, e nem é preciso usar a palavra chave . Depois é só escrever o código que a gente quiser dentro do método “polimorfado”
Nesse caso, a gente vai adicionar vários para imprimir cada um dos atributos.
Só pra esclarecer “polimorfado” não é uma palavra de verdade 😂😂! Então não vai escrever isso na sua prova não 🤣🤣🤣
Passo 4
Show! Agora vamos testar pra ver se deu tudo certo.
Vamos criar um objeto da classe , e usando o construtor vamos preencher os valores dos atributos. Em seguida vamos executar o método :
E o resultado é esse: