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.

85 HERANÇA67 // SEGURO DE VEICULO8 private Veiculo veiculo ;9 private double valorDoSeguroDeVeiculo ;10 private double franquia ;1112 // métodos13 }Código Java 8.4: SeguroDeVeiculo.java1 class Emprestimo {2 // GERAL3 private Cliente contratante ;4 private Funcionario responsavel ;5 private String dataDeContratacao ;67 // EMPRÉSTIMO8 private double valor ;9 private double taxa ;1011 // métodos12 }Código Java 8.5: Emprestimo.javaCriar uma classe para cada serviço torna o sistema mais flexível, pois qualquer alteração em um<strong>de</strong>terminado serviço não causará efeitos colaterais nos outros. Mas, por outro lado, essas classesteriam bastante código repetido, contrariando a i<strong>de</strong>ia do DRY. Além disso, qualquer alteração que<strong>de</strong>va ser realizada em todos os serviços precisa ser implementada em cada uma das classes.Uma classe genérica e várias específicasNa mo<strong>de</strong>lagem dos serviços do banco, po<strong>de</strong>mos aplicar um conceito <strong>de</strong> orientação a objetoschamado Herança. A i<strong>de</strong>ia é reutilizar o código <strong>de</strong> uma <strong>de</strong>terminada classe em outras classes.Aplicando herança, teríamos a classe Servico com os atributos e métodos que todos os serviços<strong>de</strong>vem ter e uma classe para cada serviço com os atributos e métodos específicos do <strong>de</strong>terminadoserviço.As classes específicas seriam “ligadas” <strong>de</strong> alguma forma à classe Servico para reaproveitar o códigonela <strong>de</strong>finido. Esse relacionamento entre as classes é representado em UML pelo diagramaabaixo.www.<strong>k19</strong>.com.br 85

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

Saved successfully!

Ooh no, something went wrong!