Escolar Documentos
Profissional Documentos
Cultura Documentos
Objetos - POO
-
Interface
Prof. DSc. Gilvan Martins Dures
Roteiro
POO 2015.2
Herana
Classes Abstratas
Polimorfismo
Sobrescrita x Sobrecarga de mtodos
mtodo String toString()
mtodo boolean equals(Objecto o)
POO 2015.2
O Modificador final
POO 2015.2
O Modificador final
POO 2015.2
Classe final
// Uma classe final
public final class UmaClasseFinal {
//...
}
POO 2015.2
Variveis finais
//So usadas para declarar constantes em
programas Java
public class Constantes {
public final String AUTOR = Gilvan
Duraes;
private final float PI = 3.14159;
}
Prof. DSc. Gilvan M. Dures
POO 2015.2
Mtodos finais
public class ClassesComMetodosFinais {
public static final void metodoUnicoEutil() {
//...
}
private final void apenasEuChamoEste() {
//...
}
}
Prof. DSc. Gilvan M. Dures
POO 2015.2
Interface
POO 2015.2
Interface
POO 2015.2
10
Interface
POO 2015.2
11
Interface
public interface UmaInterface
extends Interface1, Interface2, Interface3 {
// todos as variveis aqui so pblicas, estticas e finais
public static final int umaVariavel = 0;
// todos os mtodos aqui so pblicos e abstratos
public abstract int umMetodoAbstrato();
}
Prof. DSc. Gilvan M. Dures
POO 2015.2
12
Interface
public interface UmaInterface
extends Interface1, Interface2, Interface3 {
// todos as variveis se tornam pblicas, estticas e
finais
int umaVariavel = 0;
// todos os mtodos se tornam pblicos e abstratos
int umMetodoAbstrato();
}
Prof. DSc. Gilvan M. Dures
POO 2015.2
13
Interface
// colocada sob UmaOutraClasse na rvore de herana
public class MinhaClasse extends UmaOutraClasse
implements UmaInterface, OutraInterface {
//...
}
// colocada sob Object na rvore de herana
public class MinhaClasse2
implements UmaInterface {
//...
}
Prof. DSc. Gilvan M. Dures
POO 2015.2
14
Interface
interface Fruta {
void apodrece();
void machuca();
}
class FrutaCitrica extends Food implements Fruta {
private Color minhaCor;
private int diasAteEstragar;
//...
}
Prof. DSc. Gilvan M. Dures
POO 2015.2
15
Interface
interface Esfera {
void jogar();
void rolar();
}
class Laranja extends FrutaCitrica implements Esfera
{
// implementa jogar e rolar
}
POO 2015.2
16
Usando Interfaces
Laranja umaLaranja = new Laranja();
FrutaCitrica umaFrutaCitrica = (FrutaCitrica) new Laranja();
Fruta umaFruta = (Fruta) new Laranja();
Esfera umaEsfera = (Esfera) new Laranja();
umaFruta.apodrece(); // OK!
umaFruta.machuca(); // OK!
umaFrutaCitrica.apodrece(); // OK!
umaFrutaCitrica.machuca(); // OK!
umaFruta.jogar(); // No pode !!!
umaEsfera.jogar(); // OK!
umaLaranja.apodrece(); // OK!
umaLaranja.machuca(); // OK!
umaLaranja.jogar(); // OK!
umaLaranja.rolar(); // OK!
Prof. DSc. Gilvan M. Dures
POO 2015.2
17
Atividade em sala...
...
POO 2015.2
18