30.06.2013 Views

Apostila Java

Apostila Java

Apostila Java

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

Herança e polimorfismo<br />

A relação entre as classes de um sistema orientado a objetos.<br />

O conceito de classificação<br />

Quando implementamos uma classe, estamos modelando alguma coisa, um empregado, um automóvel,<br />

um animal, etc. Muitas vezes, porém, precisamos refinar esse modelo para representar subgrupos de<br />

objetos dentro dessa classe.<br />

Por exemplo, suponha que você crie uma classe para representar os funcionários da FIC:<br />

public class Funcionario<br />

{<br />

private String nome;<br />

private String funcao;<br />

private Date dataDeAdmissao;<br />

private double salario;<br />

}<br />

public void decimoTerceiro(Date dataAtual)<br />

{<br />

// cálculo do décimo terceiro salário<br />

}<br />

public void alterarSalario(double novoSalario)<br />

{<br />

salário = novoSalario;<br />

}<br />

// restante do corpo da classe<br />

11<br />

Agora imagine que você deseja representar os seguintes tipos de funcionários da FIC: um coordenador<br />

de curso, um professor e um auxiliar de limpeza. Note que essas três classes de funcionários possuem<br />

muitos membros variáveis em comum, como data de admissão, salário, função, nome, etc. E possuem<br />

também alguns métodos em comum, como o cálculo do décimo terceiro, alteração de salário, etc. Porém,<br />

cada uma dessas classes possui um conjunto de métodos exclusivos, ou seja, que só se aplicam a seus<br />

objetos e não a objetos de outras classes. Por exemplo: um auxiliar de limpeza tem o método public<br />

void limpar();, o coordenador tem o método public void criarTurma(Turma aula); e o<br />

professor tem o método public void lecionar();. Observe também que um coordenador é por sua<br />

vez um professor, e portanto possui todos os métodos de um professor e mais alguns exclusivos da<br />

classe Coordenador.

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

Saved successfully!

Ooh no, something went wrong!