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.

POLIMORFISMO 9612 SimpleDateFormat sdf = new SimpleDateFormat ("dd/MM/ yyyy HH:mm:ss");13 Date agora = new Date ();1415 System . out . println (" SAÍDA : " + f. getCodigo ());16 System . out . println (" DATA : " + sdf . format ( agora ));17 }18 }Código Java 9.7: ControleDePonto.javaOs métodos registraEntrada() e registraSaida() recebem referências <strong>de</strong> objetos da classeFuncionario como parâmetro. Consequentemente, po<strong>de</strong>m receber referências <strong>de</strong> objetos <strong>de</strong> qualquerclasse que <strong>de</strong>riva direta ou indiretamente da classe Funcionario.A capacida<strong>de</strong> <strong>de</strong> tratar objetos criados a partir das classes específicas como objetos <strong>de</strong> uma classegenérica é chamada <strong>de</strong> polimorfismo.Aplicando a i<strong>de</strong>ia do polimorfismo no controle <strong>de</strong> ponto, facilitamos a manutenção da classeControleDePonto. Qualquer alteração no procedimento <strong>de</strong> entrada ou saída implica em alteraçõesem métodos únicos.Além disso, novos tipos <strong>de</strong> funcionários po<strong>de</strong>m ser <strong>de</strong>finidos sem a necessida<strong>de</strong> <strong>de</strong> qualquer alteraçãona classe ControleDePonto. Analogamente, se algum cargo <strong>de</strong>ixar <strong>de</strong> existir, nada precisaráser modificado na classe ControleDePonto.FUNCIONÁRIOSTELEFONISTASGERENTESSECRETÁRIASFUNCIONÁRIOSFigura 9.2: Método genéricoExercícios <strong>de</strong> Fixação1 Crie um projeto no Eclipse chamado Polimorfismo.2 Defina uma classe genérica para mo<strong>de</strong>lar as contas do banco.1 class Conta {2 private double saldo ;34 // GETTERS AND SETTERS5 }Código Java 9.8: Conta.java96 www.<strong>k19</strong>.com.br

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

Saved successfully!

Ooh no, something went wrong!