PCII - AULA 2: HERANÇA EM JAVA

465 visualizações

Publicada em

HERANÇA: INTRODUÇÃO

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
465
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
16
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

PCII - AULA 2: HERANÇA EM JAVA

  1. 1. PCII ETEC MONSENHOR ANTONIO MAGLIANO
  2. 2. Herança & Polimorfismo
  3. 3. O que é Herança? Através da herança podemos fazer com que uma classe herde propriedades de outra classe. Geralmente devemos identificar classes que possuem propriedades e comportamentos similares. A base da herança pode ser listada como a seguir : – propriedades comuns são transmitidas aos descendentes – descendentes podem adicionar/alterar propriedades – estabelecem uma hierarquia de classes – reduzem a quantidade de código
  4. 4. Classe (Declaração) public class NomeClasse extends ClassePai { } public class PessoaJuridica extends Pessoa{ }
  5. 5. Exemplo A classe Pessoa Física e Pessoa Jurídica herdam da classe Pessoa
  6. 6. Exemplo
  7. 7. Exemplo REESCRITA DE MÉTODO
  8. 8. Exemplo
  9. 9. Exemplo
  10. 10. Exemplo Polimorfismo
  11. 11. Exemplo Na herança, vimos que toda PessoaFisica é uma Pessoa, pois é uma extensão desta. Podemos nos referir a uma PessoaFisica como sendo uma Pessoa.
  12. 12. POLIMORFISMO Polimorfismo é a capacidade de um objeto poder ser referenciado de várias formas. (cuidado, polimorfismo não quer dizer que o objeto fica se transformando, muito pelo contrário, um objeto nasce de um tipo e morre daquele tipo, o que pode mudar é a maneira como nos referimos a ele).
  13. 13. Adicionando mais uma classe PessoaFisicaEspecial
  14. 14. Exemplo A classe Pessoa Física Especial herda da classe Pessoa Física E também é uma Pessoa... (Classe)
  15. 15. Exemplo
  16. 16. Alterar
  17. 17. Alterar
  18. 18. Exemplo
  19. 19. Outro Exemplo Toda fábrica possui funcionários. Vamos imaginar que ao fim do ano, caso as metas sejam cumpridas, todos funcionários recebam um bônus de 10% sobre o salário mensal: class Funcionario { String nome; String cpf; double salario; public double getBonificacao() { return salario * 0.10; } }
  20. 20. Outro Exemplo Além de funcionários comuns, há também outros cargos, como os gerentes. Os gerentes tem as mesmas informações que um funcionário comum + o número de subordinados a eles. Além disto, possui uma bonificação de 20%. class Gerente extends Funcionario { int numDeSubordinados; } Se não alterarmos a classe Gerente , ela herdará do Funcionário o método getBonificacao.
  21. 21. Outro Exemplo class Principal { public static void main(String[] args) { Gerente g= new Gerente(); Funcionario f = new Funcionario(); g.setNome(“Aloisio"); g.setSalario(10000.0); f.setNome(“José"); f.setSalario(2000.0); double bg = g.getBonificacao( ); double bf = f.getBonificacao( ); } } 1.000 = 10% 200 = 10%
  22. 22. Solucionando Para solucionar isto, uma das opções seria criar um novo método na classe Gerente, chamado, por exemplo: getBonificacaoGerente. Problema: 2 métodos em Gerente, com respostas diferentes e gerando confusão. Solução: Quando herdamos um método, podemos reescrever este método, alterarando seu comportamento.
  23. 23. Solucionando class Gerente extends Funcionario { int numDeSubordinados; @override public double getBonificacao() { return salario * 0.20; } } Reescrevendo método
  24. 24. • Java - Como programar, Harvey M. Deitel • eclipse.org • www.oracle.com/technetwork/java/index.html • http://www.caelum.com.br/apostila-java- orientacao-objetos/heranca-reescrita-e- polimorfismo/#7-4-polimorfismo

×