12.07.2015 Views

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

109 INTERFACESclasse Empresa. Para obter polimorfismo entre os objetos <strong>de</strong>ssas duas classes somente com herança,<strong>de</strong>veríamos colocá-las na mesma árvore <strong>de</strong> herança. Mas, isso não faz sentido pois uma empresanão é um funcionário e o gerente não é cliente. Neste caso, a solução é utilizar interfaces para obtero polimorfismo <strong>de</strong>sejado.Figura 11.3: Obtendo mais polimorfismoAgora, conseguimos <strong>de</strong>finir o que o método autentica() <strong>de</strong>ve receber como parâmetro para trabalhartanto com gerentes quanto com empresas. Ele <strong>de</strong>ve receber um parâmetro do tipo Usuario.1 class AutenticadorDeUsuario {2 public boolean autentica ( Usuario u) {3 // implementação4 }5 }Código Java 11.9: AutenticadorDeUsuario.javaExercícios <strong>de</strong> Fixação1 Crie um projeto no eclipse chamado Interfaces.2 Defina uma interface para padronizar as assinaturas dos métodos das contas do banco.1 interface Conta {2 void <strong>de</strong>posita ( double valor );3 void saca ( double valor );4 double getSaldo ();5 }Código Java 11.10: Conta.java3 Agora, crie algumas classes para mo<strong>de</strong>lar tipos diferentes <strong>de</strong> conta.1 class ContaCorrente implements Conta {2 private double saldo ;3 private double taxaPorOperacao = 0.45;www.<strong>k19</strong>.com.br 109

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!