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.

89 HERANÇACódigo Java 8.14: Emprestimo.java1 class SeguraDeVeiculo extends Servico {2 // ATRIBUTOS34 public double calculaTaxa () {5 return 5 + this . veiculo . getTaxa () * 0.05;6 }7 }Código Java 8.15: SeguraDeVeiculo.javaSe o valor fixo dos serviços for atualizado, todas as classes específicas <strong>de</strong>vem ser modificadas. Outraalternativa seria criar um método na classe Servico para calcular o valor fixo <strong>de</strong> todos os serviçose chamá-lo dos métodos reescritos nas classes específicas.1 class Servico {2 public double calculaTaxa () {3 return 5 ;4 }5 }Código Java 8.16: Servico.java1 class Emprestimo extends Servico {2 // ATRIBUTOS34 public double calculaTaxa () {5 return super . calculaTaxa () + this . valor * 0.1;6 }7 }Código Java 8.17: Emprestimo.javaDessa forma, quando o valor padrão do preço dos serviços é alterado, basta modificar o métodona classe Servico.Construtores e HerançaQuando temos uma hierarquia <strong>de</strong> classes, as chamadas dos construtores são mais complexasdo que o normal. Pelo menos um construtor <strong>de</strong> cada classe <strong>de</strong> uma mesma sequência hierárquica<strong>de</strong>ve ser chamado ao instanciar um objeto. Por exemplo, quando um objeto da classe Emprestimo écriado, pelo menos um construtor da própria classe Emprestimo e um da classe Servico <strong>de</strong>vem serexecutados. Além disso, os construtores das classes mais genéricas são chamados antes dos construtoresdas classes específicas.1 class Servico {2 // ATRIBUTOS34 public Servico () {5 System . out . println (" Servico ");6 }7 }Código Java 8.18: Servico.javawww.<strong>k19</strong>.com.br 89

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

Saved successfully!

Ooh no, something went wrong!