Interfaces e Polimorfismo - Preparatório Certificação - OCAJP7 - Aula 1 - C
-
Upload
paulo-henrique-lerbach-rodrigues -
Category
Technology
-
view
303 -
download
1
Transcript of Interfaces e Polimorfismo - Preparatório Certificação - OCAJP7 - Aula 1 - C
package ph.sitedo.certificacao.interfaces;
import ph.sitedo.certificacao.heranca.Animal;
public class Treinador {
public void domesticar(Animal animal) {
boolean domesticado = animal.domestica();
if (domesticado) {
System.out.println("Animal Domesticado");
} else {
System.out.println("Animal arredio");
}
}
}
package ph.sitedo.certificacao.heranca;
import java.util.Random;
public abstract class Animal {
public abstract void comer();
public boolean domestica() {
Random random = new Random();
return random.nextBoolean();
}
}
public class Treinador {
public void domesticar(Domesticavel animal) {
boolean domesticado = animal.domestica();
if (domesticado) {
System.out.println("Animal Domesticado");
} else {
System.out.println("Animal arredio");
}
}
}
package ph.sitedo.certificacao.heranca;
public interface Domesticavel {
public boolean domestica();
}
public class Papagaio extends Ave implements Domesticavel{
public void comer() { ... }
public boolean domestica() { ... }
}
public class Gato extends Mamifero implements Domesticavel{
public void comer() { ... }
public boolean domestica() { ... }
}
public class Cachorro extends Mamifero implements Domesticavel{
public void comer() { ... }
public boolean domestica() { ... }
}
package ph.sitedo.certificacao.heranca;
import ph.sitedo.certificacao.interfaces.Treinador;
public class TestaAnimais {
public static void main(String[] args) {
Domesticavel gato = new Gato();
Domesticavel cachorro = new Cachorro();
Domesticavel papagaio = new Papagaio();
Treinador treinador = new Treinador();
treinador.domesticar(gato);
treinador.domesticar(cachorro);
treinador.domesticar(papagaio);
}
}
Animal DomesticadoAnimal arredioAnimal arredio
public interface Esdroublesdavel{
public void esdroublar();
void foozar();
public abstract void baadar();
abstract void zoolar();
}
public interface Esdroublesdavel {
public void esdroublar();
private void foozar();
protected abstract void baadar();
abstract void zoolar();
}
public interface Esdroublesdavel {
public abstract void esdroublar();
public abstract void foozar();
public abstract void baadar();
public abstract void zoolar();
}
public interface Esdroublesdavel {
void esdroublar();
void foozar();
void baadar();
void zoolar();
}
public interface Esdroublesdavel {
public static final String hello = "Hello";
public static final String world = "World";
}
public interface Esdroublesdavel {
private String hello = "Hello";
protected String world = "World";
}
public interface Esdroublesdavel {
static void esdroublar();
static void foozar();
static void baadar();
static void zoolar();
}
public interface Esdroublesdavel {
static void esdroublar();
final void foozar();
strictfp void baadar();
native void zoolar();
}
interface Esdroublesdavel {
// Parece não-estático e não-final, mas não é!
public int x = 1;
// Parece default, não-final, não-estático, mas não é!
int x = 1;
// Não apresenta o final ou public
static int x = 1;
// Não apresenta o estático ou public
final int x = 1;
// Não apresenta o final
public static int x = 1;
// Não apresenta o static
public final int x = 1;
// Não apresenta o public
static final int x = 1;
// implicitamente está escrito isso!
public static final int x = 1;
}
public static void main(String[] args) {
Cachorro cachorro = new Cachorro();
Animal cachorroAnimal = new Cachorro();
Mamifero cachorroMamifero = new Cachorro();
Domesticavel cachorroDomesticavel = new Cachorro();
}