30.06.2013 Views

Apostila Java

Apostila Java

Apostila Java

SHOW MORE
SHOW LESS

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 E POLIMORFIS MO<br />

}<br />

// restante do corpo da classe<br />

// Essa classe herda todos os atributos e a funcionalidade da classe Funcionario<br />

public class Professor extends Funcionario<br />

{<br />

public void lecionar (Disciplina aula)<br />

{<br />

// método que processa o ensino da disciplina referenciada por 'aula'<br />

}<br />

// restante do corpo da classe<br />

}<br />

// Essa classe herda todos os atributos e a funcionalidade da classe Funcionário e também<br />

// da classe Professor<br />

public class Coordenador extends Professor<br />

{<br />

public void criarTurma(Turma turma, Curso curso)<br />

{<br />

// método que cria uma nova turma de alunos<br />

}<br />

// restante do corpo da classe<br />

}<br />

Note que as classes estendidas de Funcionário herdam todas as características dessa classe. Por<br />

exemplo, um objeto da classe Professor tem os membros variáveis nome, função, etc. bem como os<br />

métodos alterarSalario e decimoTerceiro:<br />

// Fragmento de código<br />

{<br />

Coordenador sid = new Coordenador();<br />

Professor pardal = new Professor();<br />

}<br />

// Esses seriam comandos válidos, considerando que o valor dos membros<br />

// já tenham sido inicializados<br />

System.out.println(pardal.decimoTerceiro());<br />

System.out.println(sid.funcao);<br />

Herança em <strong>Java</strong><br />

Em Orientação a Objetos usamos a palavra herança para expressar a idéia de que uma classe herda<br />

todas as características e funcionalidade de uma outra classe. No nosso exemplo, as classes Professor e<br />

AuxiliarDeLimpeza herdam os membros da classe Funcionário. A classe Coordenador herda os membros<br />

da classe Funcionário e também herda os membros da classe Professor.<br />

Um detalhe importante é que na linguagem <strong>Java</strong> não existe herança múltipla. Não que a<br />

herança múltipla seja um conceito errado, pelo contrário, linguagens como C++ implementam herança<br />

63

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

Saved successfully!

Ooh no, something went wrong!