Exercícios Resolvidos de Herança

Ver Teoria

Enunciado

A classe base P e s s o a é herdada pela classe filha C o n s u m i d o r .

Crie um construtor para as duas classes, para quando um objeto da classe filha for criado, automaticamente invoque o construtor da classe mãe.

Se necessário crie ou modique os métodos.

Passo 1

Hey, ho, lets go!

Essa questão entregou pra gente uma classe base e uma classe filha, e quer que a gente crie um construtor para as duas classes.

Perceba que a classe C o n s u m i d o r é herdeira da classe P e s s o a , então temos que levar isso em conta na hora de escrever o construtor da classe filha.

Mas por enquanto, vamos apenas escrever o cabeçalho do código.

Passo 2

Vamos começar pela classe mãe P e s s o a . Primeiro, vamos escrever o que já foi dado pra gente na questão.

E agora vamos desenvolver o método construtor. Lembre-se que um construtor é uma função sem tipo com mesmo nome da classe.

Dentro do construtor vamos inicializar os atributos n o m e e d i n h e i r o .

E é basicamente isso, apenas um construtor simples, sem nada demais.

Antes de fechar essa classe, vamos criar dois atributos getters para que a gente possa visualizar o atributo privado n o m e e o atributo protegido d i n h e i r o

Passo 3

Agora vamos pra classe filha C o n s u m i d o r . Essa classe herda todos os atributos e métodos da classe P e s s o a .

Vamos começar copiando o código do enunciado no nosso programa:

Agora vamos desenvolver o construtor. Pra desenvolver um construtor em uma classe derivada vamos usar a seguinte forma:

n o m e C l a s s e F i l h a   t i p o s   p a r a m e t r o s     : n o m e C l a s s e M a e (   p a r a m e t r o s   )

No lado esquerdo da expressão acima temos o construtor da classe filha que recebe todos os parâmetros necessários para inicializar os atributos, e do lado direito a gente executa o construtor da classe mãe entregando os parâmetros necessários. E depois a gente escreve o código do construtor para inicializar os atributos restantes.

Vamos ver no código. Na primeira parte da linha 33 temos o construtor da classe C o n s u m i d o r recebendo os três valores necessários n o m e , d i n h e i r o e n u m C o m p r a s .

Ainda na linha 33 nós executamos o construtor da classe P e s s o a e passamos os parâmetros n o m e e d i n h e i r o . Dessa forma o construtor da classe mãe é executado e os atributos n o m e e d i n h e i r o são inicializados.

Mas o atributo n u m C o m p r a s ainda não foi inicializado. Então dentro das chaves do construtor da classe filha vamos inicializar o atributo n u m C o m p r a s .

E prontinho. O construtor da classe filha está feito!

Resposta

Ei, a resposta está no passo a passo :)