Prévia do material em texto
class Professor {
private int matricula;
private String nome;
private String endereco;
private int idade;
}
class Aluno {
private int ra;
private String nome;
private String endereco;
private int idade;
}
class Professor {
private int matricula;
private String primeiroNome;
private String sobrenome;
private String endereco;
private int idade;
private String rg;
private String cpf;
private char sexo;
}
class Aluno {
private int ra;
private String primeiroNome;
private String sobrenome;
private String endereco;
private int idade;
private String rg;
private String cpf;
private char sexo;
}
class Pessoa {
private String primeiroNome;
private String sobrenome;
private String endereco;
private int idade;
private String rg;
private String cpf;
private char sexo;
}
class Professor extends Pessoa{
private int matricula;
}
class Aluno extends Pessoa {
private int ra;
}
https://plataforma.bvirtual.com.br/Leitor/Publicacao/1142/pdf/0
class Motor{
}
class Veiculo{
//Veiculo TEM-UM Motor
private Motor motor;
}
class Emprego{
}
class Pessoa {
//Pessoa TEM-UM Emprego
private Emprego emprego;
}
class Professor {
private String nome;
private String titulacao;
public Professor (String nome, String titulacao) {
this.nome = nome;
this.titulacao = titulacao;
}
}
class Disciplina {
private String nome;
private String descricao;
public Disciplina (String nome, String descricao) {
this.nome = nome;
this.descricao = descricao;
}
}
class Atribuicao {
//Atribuição TEM-UM Professor
private Professor professor;
//Atribuição TEM-UM Disciplina
private Disciplina disciplina;
public Atribuicao (Professor professor, Disciplina disciplina)
{
this.professor = professor;
this.disciplina = disciplina;
}
}
class Universidade {
//Universidade TEM-UM lista de atribuições
private List atribuicoes = new ArrayList ();
public void adicionarAtribuicao (Atribuicao atribuicao) {
this.atribuicoes.add(atribuicao);
}
}
public class TesteAtribuicao {
public static void main (String... args) {
Universidade universidade = new Universidade();
Professor p1 = new Professor ('José', 'Doutor');
Professor p2 = new Professor ('Maria', 'Doutora');
Disciplina d1 = new Disciplina ('Matemática', 'Matemática
Elementar');
Disciplina d2 = new Disciplina ('Compiladores', 'Construção
de compiladores');
universidade.adicionarAtribuicao(new Atribuicao (p1, d1));
universidade.adicionarAtribuicao(new Atribuicao (p2, d1));
universidade.adicionarAtribuicao(new Atribuicao (p2, d2));
}
}
interface Veiculo{
public void acelerar();
}
class Fusca implements Veiculo{
@Override
public void acelerar() {
System.out.println('Fusquinha acelerandooo....');
}
}
class Ferrari implements Veiculo{
@Override
public void acelerar() {
System.out.println('Ferrraariiii aceleraaaaandooooooo....');
}
}
class Pessoa {
private Veiculo veiculo;
public void dirigir () {
//dar partida
//soltar o freio de mão
veiculo.acelerar();
}
public void setVeiculo(Veiculo veiculo) { this.veiculo =
veiculo;
}
}
public class Contrato {
public static void main(String[] args) {
Pessoa p = new Pessoa ();
p.setVeiculo(new Fusca());
p.dirigir();
p.setVeiculo(new Ferrari());
p.dirigir();
}
}
public class Animal {
public void fazerBarulho () {
System.out.println('Animal fazendo barulho');
}
}
public class Gato extends Animal{
}
public class Cachorro extends Animal{
}
public class TesteSemVariaveisPolimorficas {
public static void main(String[] args) {
Gato gato = new Gato ();
Cachorro cachorro = new Cachorro ();
gato.fazerBarulho();
cachorro.fazerBarulho();
}
}
public class TesteComPolimorfismo {
public static void main(String[] args) {
Animal a1 = new Gato();
Animal a2 = new Cachorro();
a1.fazerBarulho();
a2.fazerBarulho();
}
}
public class Gato extends Animal{
public void fazerBarulho() {
System.out.println('miau');
}
}
public class Cachorro extends Animal{
public void fazerBarulho() {
System.out.println('au au');
}
}
import java.util.ArrayList;
import java.util.List;
class Animal{
public void fazerBarulho () {
System.out.println('Animal fazendo barulho');
}
}
class Gato extends Animal{
public void fazerBarulho() {
System.out.println('miau');
}
}
class Cachorro extends Animal{
public void fazerBarulho() {
System.out.println('au au');
}
}
public class Polimorfismo {
public static void main(String[] args) {
List animais = new ArrayList();
animais.add(new Gato());
animais.add(new Gato());
animais.add(new Cachorro());
for (Animal animal : animais)
//polimorfismo dinâmico aqui
//em tempo de execução, a JVM decide qual
//método chamar em função do tipo do objeto
animal.fazerBarulho();
}
}
https://plataforma.bvirtual.com.br/Leitor/Publicacao/1142/pdf/0
https://docs.google.com/presentation/d/1kPZN3rS-zEAAWpAYz38u6OY8lPPabFdj/edit?usp=sharing&ouid=101311856548897159556&rtpof=true&sd=true