Escolar Documentos
Profissional Documentos
Cultura Documentos
CLASSE FILHA
Herança
Funcionario
Nome :
Cpf :
Salario:
calculaComissao();
Herança
Código da classe
funcionário
Herança
Código da classe
funcionário
Herança
Agora que já temos nossa classe Funcionário criada, vamos supor que surgiu a necessidade
de se criar uma classe gerente, se paramos para pensar vamos ver que o gerente é um
funcionário, porém com algumas diferenças, vamos ver o diagrama de classe dessas duas
classes.
Herança
Funcionario NomeGerente
:
nome : nome :
cpf : cpf:
Salario: salario:
senha:
calculaComissao(); autentica();
calculaComissao();
Herança
Visto a semelhança entre as duas classes, vamos utilizar a herança para que a classe
gerente herde todos os atributos e métodos da classe funcionário e acrescentaremos nele o
atributo senha e o método autentica que é exclusivo da classe gerente
Herança
Código da
classe gerente
Através da palavra extends
na linha de criação da
classe estamos informando
que a classe Gerente está
herdando os atributos e os
métodos da classe
Funcionário.
Herança
Código Principal
No código podemos
verificar que estanciamos
dois objetos, um do tipo
funcionário e outro do tipo
Gerente, e graças a
herança conseguimos usar
todos métodos da classe
funcionário na classe
gerente.
Herança
Agora que já temos a nossa classe gerente herdando do funcionário, vamos supor que o
método calcula comissão precisar de um ajuste, já que o gerente terá que receber uma
comissão de 15 %, já o do funcionário comum é de 10 %.
Para conseguimos fazer esse ajuste teremos que usa o conceito de sobrescrita, onde vamos
herdar um método e sobrescreve-lo de acordo com a necessidade da classe
Herança
Código Gerente
O trecho de código ao
lado foi adicionado dentro
da classe gerente, ele
mostra a sobrescrita do
método calculaComissao,
que para o gerente ela
devolve 15 % de comissão
enquanto um funcionário
comum são apenas 10 %
Exercicios
Crie uma classe "Veículo" que tenha as propriedades "marca", "modelo", "ano" e "cor". Em seguida,
crie duas subclasses chamadas "Carro" e "Moto", que herdam as propriedades da classe "Veículo". A
classe "Carro" deve ter a propriedade adicional "quantidade de portas", enquanto a classe "Moto"
deve ter a propriedade adicional "cilindrada".
Em seguida, crie dois objetos, um do tipo "Carro" e outro do tipo "Moto", atribuindo valores às suas
propriedades. Por fim, exiba as informações de cada objeto utilizando um método. Certifique-se de
que a informação adicional de cada classe (quantidade de portas ou cilindrada) também esteja
incluída.
Exercicios
Crie uma classe cliente com os seguintes atributos :
Nome
Idade
Endereco
Valor_pedido
Valor_promocional
E os métodos :
calculaDesconto() “cliente comum tem desconto de 10% porcento”