interfaces e polimorfismo - preparatório certificação - ocajp7 - aula 1 - c

37

Upload: paulo-henrique-lerbach-rodrigues

Post on 18-Jan-2017

303 views

Category:

Technology


1 download

TRANSCRIPT

http://sitedo.ph/curso-preparatorio-ocpjp-7/

Interfaces

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 {

String hello = "Hello";

String world = "World";

}

public interface Esdroublesdavel {

private String hello = "Hello";

protected String world = "World";

}

public interface Esdroublesdavel extends OutraInterface {

}

public interface Esdroublesdavel extends

OutraInterfaceA,

OutraInterfaceB,

OutraInterfaceC{

}

public interface Esdroublesdavel implements

OutraInterfaceA,

OutraInterfaceB,

OutraInterfaceC{

}

public interface Esdroublesdavel extends UmaClasse {

}

public abstract interface Esdroublesdavel{

}

interface Esdroublesdavel{

}

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;

}

Polimorfismo

public static void main(String[] args) {

Cachorro cachorro = new Cachorro();

Animal cachorroAnimal = new Cachorro();

Mamifero cachorroMamifero = new Cachorro();

Domesticavel cachorroDomesticavel = new Cachorro();

}

http://sitedo.ph/curso-preparatorio-ocpjp-7/