Observe a classe
Crie uma classe derivada de chamada que possui os atributos e . Na classe crie um construtor para a classe e métodos getters para os atributos, implemente o método que mostre os valores de todos os atributos.
Passo 1
E aí, beleza?! Vamos resolver esse exercício!
A questão entregou pra gente uma classe e pede pra gente criar uma filha. A nova classe terá novos métodos e atributos.
Mas a chave da questão é que a classe filha vai ter um novo método chamado , ou seja, vamos executar polimorfismo neste método.
Mas antes de começar, vamos escrever a classe da questão dentro do nosso código:
Vamos analisar esse código antes de prosseguir. A classe possui um atributo protegido e dois métodos públicos.
O atributo é chamado que, podemos presumir, vai armazenar o nome do paciente.
O primeiro método é simplesmente um getter que apenas retorna o valor do atributo .
E o segundo método é o que imprime um texto com os dados do paciente, nesse caso, apenas o atributo nome. Note que esse é um método virtual, isso quer dizer que ele foi pensado desde o começo para sofrer polimorfismo.
Passo 2
Vamos começar criando a classe herdando a classe base . Lembre-se, a gente executa uma herança assim:
No código fica assim:
Agora os atributos e métodos da classe mãe foram copiados para a classe filha.
Em seguida, vamos adicionar na classe filha os seus novos atributos: uma string que armazena o nome da seguradora e o inteiro que armazena o número do seguro.
Agora vamos desenvolver os métodos. Primeiro, precisamos inicializar os atributos da classe, e pra isso vamos usar um construtor.
Note que a classe mãe não possui um construtor. Isso quer dizer que a gente não precisa chamar o construtor da classe mãe. Então, vamos simplesmente fazer um construtor simples para a classe filha.
Outro detalhe é que o atributo é protegido. E isso quer dizer que a classe filha tem acesso direto a esse atributo, então podemos modifica-lo sem problemas.
Para desenvolver o construtor, é só você lembrar que construtores são funções sem tipo que têm o mesmo nome da classe:
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
Ainda dentro da nossa classe, vamos dar desenvolver o método .
A classe já têm um método chamado que foi herdado da classe mãe. Porém, a versão que foi herdada imprime apenas o atributo .
A solução é executar um polimorfismo! Nós vamos reescrever uma nova função com o nome .
Primeiro a gente declarou o método na linha 34, perceba que não é preciso escrever a palavra chave .
Depois, nas linhas 35 a 39 a gente escreveu novas instruções para o método !
Polimorfismo é super tranquilo de fazer. É só sobrescrever o método antigo com um novo método usando o mesmo nome. 😊
E pronto! A classe está concluída.
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: