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...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

HERANÇA 8467 // EMPRÉSTIMO8 private double valor ;9 private double taxa ;1011 // métodos12 }Código Java 8.2: Servico.javaSeguro <strong>de</strong> veículosOutro serviço oferecido pelo banco é o seguro <strong>de</strong> veículos. Para esse serviço <strong>de</strong>vem ser <strong>de</strong>finidasas seguintes informações: veículo segurado, valor do seguro e a franquia. Devemos adicionar trêsatributos na classe Servico.1 class Servico {2 // GERAL3 private Cliente contratante ;4 private Funcionario responsavel ;5 private String dataDeContratacao ;67 // EMPRÉSTIMO8 private double valor ;9 private double taxa ;1011 // SEGURO DE VEICULO12 private Veiculo veiculo ;13 private double valorDoSeguroDeVeiculo ;14 private double franquia ;1516 // métodos17 }Código Java 8.3: Servico.javaApesar <strong>de</strong> seguir a i<strong>de</strong>ia do DRY, mo<strong>de</strong>lar todos os serviços com apenas uma classe po<strong>de</strong> dificultaro <strong>de</strong>senvolvimento. Supondo que dois ou mais <strong>de</strong>senvolvedores são responsáveis pela implementaçãodos serviços, eles provavelmente modificariam a mesma classe concorrentemente. Além disso,os <strong>de</strong>senvolvedores, principalmente os recém chegados no projeto do banco, ficariam confusos como código extenso da classe Servico.Outro problema é que um objeto da classe Servico possui atributos para todos os serviços queo banco oferece. Na verda<strong>de</strong>, ele <strong>de</strong>veria possuir apenas os atributos relacionados a um serviço. Doponto <strong>de</strong> vista <strong>de</strong> performance, essa abordagem causaria um consumo <strong>de</strong>snecessário <strong>de</strong> memória.Uma classe para cada serviçoPara mo<strong>de</strong>lar melhor os serviços, evitando uma quantida<strong>de</strong> gran<strong>de</strong> <strong>de</strong> atributos e métodos <strong>de</strong>snecessários,criaremos uma classe para cada serviço.1 class SeguroDeVeiculo {2 // GERAL3 private Cliente contratante ;4 private Funcionario responsavel ;5 private String dataDeContratacao ;84 www.<strong>k19</strong>.com.br

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

Saved successfully!

Ooh no, something went wrong!