SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
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 Domesticado
Animal arredio
Animal 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/
Interfaces e Polimorfismo - Preparatório Certificação - OCAJP7 - Aula 1 - C

Mais conteúdo relacionado

Mais procurados

Curso java 05 - herança, classes e métodos abstratos
Curso java   05 - herança, classes e métodos abstratosCurso java   05 - herança, classes e métodos abstratos
Curso java 05 - herança, classes e métodos abstratosMaurício Linhares
 
[Curso Java Basico] Aula 63: printf
[Curso Java Basico] Aula 63: printf[Curso Java Basico] Aula 63: printf
[Curso Java Basico] Aula 63: printfLoiane Groner
 
[Curso Java Basico] Aulas 75-84: Strings e StringBuilder
[Curso Java Basico] Aulas 75-84: Strings e StringBuilder[Curso Java Basico] Aulas 75-84: Strings e StringBuilder
[Curso Java Basico] Aulas 75-84: Strings e StringBuilderLoiane Groner
 
Perl Moderno, dia5
Perl Moderno, dia5Perl Moderno, dia5
Perl Moderno, dia5garux
 
Aprendendo Kotlin na Prática
Aprendendo Kotlin na PráticaAprendendo Kotlin na Prática
Aprendendo Kotlin na PráticaFelipe Pedroso
 
Perl Moderno, dia2
Perl Moderno, dia2Perl Moderno, dia2
Perl Moderno, dia2garux
 
Perl Moderno, dia4
Perl Moderno, dia4Perl Moderno, dia4
Perl Moderno, dia4garux
 
Kotlin: conhecendo features de uma linguagem moderna
Kotlin: conhecendo features de uma linguagem modernaKotlin: conhecendo features de uma linguagem moderna
Kotlin: conhecendo features de uma linguagem modernaFabrício Rissetto
 
Introdução ao Framework Grails
Introdução ao Framework GrailsIntrodução ao Framework Grails
Introdução ao Framework GrailsBruno Catão
 
Perl Moderno, dia3
Perl Moderno, dia3Perl Moderno, dia3
Perl Moderno, dia3garux
 
[Curso Java Basico] Aula 62: Varargs
[Curso Java Basico] Aula 62: Varargs[Curso Java Basico] Aula 62: Varargs
[Curso Java Basico] Aula 62: VarargsLoiane Groner
 
[Curso Java Basico - Exceptions] Aula 48: multiplos catch
[Curso Java Basico - Exceptions] Aula 48: multiplos catch[Curso Java Basico - Exceptions] Aula 48: multiplos catch
[Curso Java Basico - Exceptions] Aula 48: multiplos catchLoiane Groner
 
Apostia de Jogos com Java
Apostia de Jogos com JavaApostia de Jogos com Java
Apostia de Jogos com JavaMarco Reis
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Luciano Ramalho
 
Groovy na plataforma Java
Groovy na plataforma JavaGroovy na plataforma Java
Groovy na plataforma JavaJoão Lourenço
 
Ecmascript 6, O futuro do Javascript hoje.
Ecmascript 6, O futuro do Javascript hoje.Ecmascript 6, O futuro do Javascript hoje.
Ecmascript 6, O futuro do Javascript hoje.Henrique Limas
 

Mais procurados (20)

Curso java 05 - herança, classes e métodos abstratos
Curso java   05 - herança, classes e métodos abstratosCurso java   05 - herança, classes e métodos abstratos
Curso java 05 - herança, classes e métodos abstratos
 
[Curso Java Basico] Aula 63: printf
[Curso Java Basico] Aula 63: printf[Curso Java Basico] Aula 63: printf
[Curso Java Basico] Aula 63: printf
 
[Curso Java Basico] Aulas 75-84: Strings e StringBuilder
[Curso Java Basico] Aulas 75-84: Strings e StringBuilder[Curso Java Basico] Aulas 75-84: Strings e StringBuilder
[Curso Java Basico] Aulas 75-84: Strings e StringBuilder
 
Perl Moderno, dia5
Perl Moderno, dia5Perl Moderno, dia5
Perl Moderno, dia5
 
Grupo2
Grupo2Grupo2
Grupo2
 
Aprendendo Kotlin na Prática
Aprendendo Kotlin na PráticaAprendendo Kotlin na Prática
Aprendendo Kotlin na Prática
 
Perl Moderno, dia2
Perl Moderno, dia2Perl Moderno, dia2
Perl Moderno, dia2
 
Perl Moderno, dia4
Perl Moderno, dia4Perl Moderno, dia4
Perl Moderno, dia4
 
Kotlin: conhecendo features de uma linguagem moderna
Kotlin: conhecendo features de uma linguagem modernaKotlin: conhecendo features de uma linguagem moderna
Kotlin: conhecendo features de uma linguagem moderna
 
Spring Capitulo 03
Spring Capitulo 03Spring Capitulo 03
Spring Capitulo 03
 
PHP 5.3 - What's new?
PHP 5.3 - What's new?PHP 5.3 - What's new?
PHP 5.3 - What's new?
 
Introdução ao Framework Grails
Introdução ao Framework GrailsIntrodução ao Framework Grails
Introdução ao Framework Grails
 
Perl Moderno, dia3
Perl Moderno, dia3Perl Moderno, dia3
Perl Moderno, dia3
 
[Curso Java Basico] Aula 62: Varargs
[Curso Java Basico] Aula 62: Varargs[Curso Java Basico] Aula 62: Varargs
[Curso Java Basico] Aula 62: Varargs
 
[Curso Java Basico - Exceptions] Aula 48: multiplos catch
[Curso Java Basico - Exceptions] Aula 48: multiplos catch[Curso Java Basico - Exceptions] Aula 48: multiplos catch
[Curso Java Basico - Exceptions] Aula 48: multiplos catch
 
Apostia de Jogos com Java
Apostia de Jogos com JavaApostia de Jogos com Java
Apostia de Jogos com Java
 
Iteraveis e geradores
Iteraveis e geradoresIteraveis e geradores
Iteraveis e geradores
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)
 
Groovy na plataforma Java
Groovy na plataforma JavaGroovy na plataforma Java
Groovy na plataforma Java
 
Ecmascript 6, O futuro do Javascript hoje.
Ecmascript 6, O futuro do Javascript hoje.Ecmascript 6, O futuro do Javascript hoje.
Ecmascript 6, O futuro do Javascript hoje.
 

Semelhante a Interfaces e Polimorfismo - Preparatório Certificação - OCAJP7 - Aula 1 - C

Apresentaodesignpatterns1 110109115005-phpapp02
Apresentaodesignpatterns1 110109115005-phpapp02Apresentaodesignpatterns1 110109115005-phpapp02
Apresentaodesignpatterns1 110109115005-phpapp02Nádia Rodrigues
 
Apresentação Design Adaptador
Apresentação Design AdaptadorApresentação Design Adaptador
Apresentação Design Adaptadorrobson santiago
 
Membros da Classe - Preparatório Certificação - OCAJP7 - Aula 2 - D
Membros da Classe - Preparatório Certificação - OCAJP7 - Aula 2 - DMembros da Classe - Preparatório Certificação - OCAJP7 - Aula 2 - D
Membros da Classe - Preparatório Certificação - OCAJP7 - Aula 2 - DPaulo Henrique Lerbach Rodrigues
 
Jug bizus (4)
Jug   bizus (4)Jug   bizus (4)
Jug bizus (4)JugVale
 
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...Caelum
 
Palestra Novidades da linguagem C# 6
Palestra Novidades da linguagem C# 6Palestra Novidades da linguagem C# 6
Palestra Novidades da linguagem C# 6Renato Haddad
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
Inteligencia artificial 3
Inteligencia artificial 3Inteligencia artificial 3
Inteligencia artificial 3Nauber Gois
 
Ecosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_javEcosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_javJulio Viegas
 
Palindromo
PalindromoPalindromo
Palindromojbersosa
 

Semelhante a Interfaces e Polimorfismo - Preparatório Certificação - OCAJP7 - Aula 1 - C (19)

Git, GitHub e OO
Git, GitHub e OOGit, GitHub e OO
Git, GitHub e OO
 
Apresentaodesignpatterns1 110109115005-phpapp02
Apresentaodesignpatterns1 110109115005-phpapp02Apresentaodesignpatterns1 110109115005-phpapp02
Apresentaodesignpatterns1 110109115005-phpapp02
 
Apresentação Design Adaptador
Apresentação Design AdaptadorApresentação Design Adaptador
Apresentação Design Adaptador
 
Membros da Classe - Preparatório Certificação - OCAJP7 - Aula 2 - D
Membros da Classe - Preparatório Certificação - OCAJP7 - Aula 2 - DMembros da Classe - Preparatório Certificação - OCAJP7 - Aula 2 - D
Membros da Classe - Preparatório Certificação - OCAJP7 - Aula 2 - D
 
Padrão Adapter
Padrão AdapterPadrão Adapter
Padrão Adapter
 
Vraptor
VraptorVraptor
Vraptor
 
Use CDI em seus projetos Java !
Use CDI em seus projetos Java !Use CDI em seus projetos Java !
Use CDI em seus projetos Java !
 
Jug bizus (4)
Jug   bizus (4)Jug   bizus (4)
Jug bizus (4)
 
Jug bizus
Jug   bizusJug   bizus
Jug bizus
 
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
 
VRaptor4
VRaptor4VRaptor4
VRaptor4
 
Palestra Novidades da linguagem C# 6
Palestra Novidades da linguagem C# 6Palestra Novidades da linguagem C# 6
Palestra Novidades da linguagem C# 6
 
Curso de Java #05 - Swing e JavaFX
Curso de Java #05 - Swing e JavaFXCurso de Java #05 - Swing e JavaFX
Curso de Java #05 - Swing e JavaFX
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Flutter do zero a publicacao
Flutter do zero a publicacaoFlutter do zero a publicacao
Flutter do zero a publicacao
 
Inteligencia artificial 3
Inteligencia artificial 3Inteligencia artificial 3
Inteligencia artificial 3
 
A Revolução dos Middlewares
A Revolução dos MiddlewaresA Revolução dos Middlewares
A Revolução dos Middlewares
 
Ecosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_javEcosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_jav
 
Palindromo
PalindromoPalindromo
Palindromo
 

Interfaces e Polimorfismo - Preparatório Certificação - OCAJP7 - Aula 1 - C