Ads unopar
Adaptado dos slides do livro:
Java, an Introduction to Problem Solving and Programming, 4ºd Walter Savitch
Cátia Vaz
Introdução à Herança
Herança permite definir uma classe geral e de seguida classes mais especializadas simplesmente por adicionar novos detalhes à definição da classe mais geral. Uma classe mais especializada herda as propriedades da classe mais geral, sendo assim necessário apenas definir as novas características desta.
Cátia Vaz
2
Classes Derivadas (Subclasses)
Pessoa
Estudante
Trabalhador
Graduado
Cátia Vaz
3
Exemplo
A classe A classe A classe A classe A classe base (superclasse) Pessoa derivada Estudante Graduado Trabalhador Escola
Cátia Vaz
4
Classe Pessoa package escola; public class Pessoa{ private String nome; public Pessoa(String n){ nome=n; } public String getNome(){ return nome;} public boolean mesmoNome(Pessoa outra){ return this.nome.equals(outra.nome);} public void imprimir(){ System.out.print("nome: "+ nome + "; "); } }
Cátia Vaz
5
Classes Derivadas - Sintaxe public class Nome_Classe_Derivada extends Nome_Classe _Base{ Declarações_de_variáveis_de_instância_adicionada; Definições_dos_métodos_adicionados_e_sobrepostos; }
Cátia Vaz
6
Classe Estudante package escola; public class Estudante extends Pessoa{ private int numero; public Estudante(String nom,int num){ super(nom); numero=num;} public int getNumero(){return numero;} public boolean equals(Estudante e){ if(this.mesmoNome(e) && numero==e.numero) {return true;} else {return false;} } public void imprimir(){ //System.out.println("O nome e" + super.nome); Erro System.out.print("Estudante -> "); super.imprimir(); System.out.println("numero de aluno: "+ numero + "; ");} }
Cátia Vaz
7
Classes Derivadas (Subclasses)
Numa classe derivada, apenas são declaradas as variáveis de instância e definidos os métodos adicionados e os sobrepostos (overridden) As variáveis e os métodos da classe