Exercícios Resolvidos de Herança

Ver Teoria

Enunciado

Abaixo temos uma classe P e s s o a com atributos básicos n o m e e d i n h e i r o , e o método básico t r a b a l h a r (   ) que adiciona mais 100 no atributo d i n h e i r o .

Crie uma classe filha chamada C o n s u m i d o r e adicione um método c o m p r a r (   ) que recebe o valor de uma compra e altera a quantidade de dinheiro do consumidor, e um atributo que contabiliza quantos itens esse consumidor comprou

Instancie um objeto da classe C o n s u m i d o r , preencha todos os seus atributos e utilize o método t r a b a l h a r (   ) e o método c o m p r a r (   ) , e imprima a quantidade de dinheiro que o cliente ficou no final.

Passo 1

E aí, pessoal, beleza?!

O objetivo dessa questão é que a gente crie uma classe filha que herda os métodos e atributos da classe pessoa, e depois crie nosso próprio método. Então, vamos ter que usar nossos conhecimentos de herança!

Uma vantagem é que a questão já deu a classe mãe prontinha pra gente! Então, a primeira coisa que vamos fazer é escrever o código da questão dentro do nosso código. Ah, um detalhe é que a classe usa strings. Então já vamos adicionar o cabeçalho < s t r i n g > também.

Passo 2

Ok. Agora sim a gente vai começar a diversão. Como a classe base já está feita, então vamos nos preocupar em criar a classe derivada.

Lembre-se que pra criar uma classe filha usamos a seguinte sintaxe:

c l a s s   N o m e C l a s s e F i l h a   : p u b l i c   N o m e C l a s s e M a e

Então vamos criar a nossa classe C o n s u m i d o r , e usando o   : p u b l i c indicamos que vamos herdar a classe P e s s o a

Massa! Agora todos os métodos e atributos da classe P e s s o a fazem parte da classe C o n s u m i d o r também.

Passo 3

Certo, com a herança efetuada, agora podemos expandir a classe filha. Então vamos adicionar métodos e atributos novos dentro da classe C o n s u m i d o r . Por simplicidade, vamos fazer tudo público.

Primeiro vamos adicionar um atributo chamado n u m C o m p r a s que vai contabilizar a quantidade de compras feitas por um consumidor.

E em seguida, vamos adicionar o método c o m p r a r (   ) , que recebe como parâmetro o valor gasto, e executa uma redução no dinheiro do consumidor e incrementa a contagem de compras.

Lembre-se que o atributo d i n h e i r o é um atributo público da classe mãe, e graças a herança a gente pode usar esse atributo sem problemas.

E isso finaliza a classe filha.

Passo 4

Pra fechar a questão, vamos utilizar a classe que a gente criou.

Iniciamos a m a i n (   ) e dentro dela vamos instanciar um objeto da classe C o n s u m i d o r chamado c o n s 1

E em seguida inicializamos todos os atributos. Os atributos n o m e e d i n h e i r o foram herdados da classe mãe. O atributo n u m C o m p r a s pertence à classe filha e também é público. Todos eles são atributos públicos, então podemos acessá-los através do objeto.

Em seguida vamos executar cada um dos métodos. Primeiro vamos trabalhar e depois vamos executar uma compra. O método t r a b a l h a r foi herdado da classe mãe, esse é um método público que pode ser usado pela classe filha de qualquer lugar. Já o método c o m p r a r (   ) pertence à classe filha e é público, e por isso também pode ser usado em qualquer lugar.

E só pra finalizar, vamos imprimir uma mensagem que diz o nome e a quantidade de dinheiro do consumidor.

O resultado é:

Resposta