De acordo com a classe que possui um valor em reais e um método
- Crie uma classe , derivada de , que herda Ingresso e possui um valor adicional. Crie um método que retorne o valor do ingresso (com o adicional incluído).
- Crie uma classe , que herda de , possui a localização do ingresso, e mais um valor adicional.
Passo 1
Bora lá, galera.
Essa é uma questão de hierarquia de classes. A questão fornece a classe que é herdada pela classe que depois é herdada pela classe .
A questão já entregou pra gente a classe ingresso prontinha, com um atributo para armazenar o valor do ingresso, um método construtor para inicializar o atributo, e o método .
Um detalhe, é que na classe nós temos um método virtual . É importante que esse método seja virtual, pois em cada classe o valor do ingresso irá mudar, e a frase que acompanha o método também, ou seja, em cada classe vamos executar polimorfismo.
Mas antes de tudo, vamos escrever o código do enunciado no nosso programa
Passo 2
Belezinha, agora vamos desenvolver a classe . Primeiro vamos efetuar a herança.
E prontinho. Agora temos acesso a todos os métodos e atributos da classe mãe.
O ingresso VIP possui um valor adicional, então vamos criar um atributo para conter esse valor.
Em seguida vamos desenvolver o construtor da classe . Uma ideia legal é a gente invocar o construtor da classe mãe.
Então definimos o construtor da classe mãe para receber os parâmetros e , e em seguida passamos o parâmetro pro construtor da classe mãe. Dentro das chaves, vamos inicializar o atributo e atualizar o valor do ingresso
Beleza, agora vamos dar uma olhada no método . Usando polimorfismo, vamos reescrever o método imprime valor para atualizar a mensagem impressa:
E terminamos a classe .
Passo 3
Vamos começar efetuando a herança. A classe é filha da classe :
Essa classe possui um novo atributo que representa mais um valor adicional .
Show, em seguida vamos cuidar do construtor da classe . Precisamos receber os três parâmetros , e . Em seguida, vamos passar os parâmetros e para o construtor da classe
E é aqui que a magica acontece! O construtor da classe chama o construtor da classe que em seguida chama o construtor da classe 🤯. Essa reação em cadeia deve ser considerada na hora de desenvolver os construtores.
Leve em consideração que o construtor da classe VIP já faz a inicialização do atributo herdado , e também já atualiza o atributo . Então, o que precisamos fazer é inicializar o atributo , e fazer uma nova atualização no atributo com o valor adicional do camarote
E pra finalizar a classe é só a gente
E assim finalizamos a classe .