Sie sind auf Seite 1von 7

Padrões de Projeto

Prof. Adilson Vahldick

Departamento de Engenharia de Software


Udesc Ibirama
Objetivos da aula
• Conhecer e aplicar o padrão
• Prototype

Padrões de Projeto – Prof. Adilson Vahldick


Definição
• Prototype: Especificar os tipos de objetos a serem criados usando
uma instância protótipo e criar novos objetos pela cópia desse
protótipo.

Padrões de Projeto – Prof. Adilson Vahldick


Prototype

$3:ClassA $7:ClassA $7:ClassA

X=10 clonar X=10 modificar X=30


Y=50
Y=50 Y=50

Padrões de Projeto – Prof. Adilson Vahldick


Prototype em Java (prototype1)
public class Produto implements Cloneable{

private String descricao;


private double peso;
private double dimensoes;

public Produto clonar() throws Exception {


return (Produto) super.clone();
}
...
}

Produto p1 = new Produto("Chocolate", 0.1, 0.01);


Produto p1clone = p1.clonar();

Padrões de Projeto – Prof. Adilson Vahldick


Prototype em Java (prototype1)
public class Pedido implements Cloneable {

public Pedido clonar() throws Exception {


Pedido p = (Pedido) clone();
p.itensPedido = new ArrayList<>(itensPedido.size());
for (ItemPedido item:itensPedido) {
p.itensPedido.add(item.clonar());
}
return p;
}
...
}

Padrões de Projeto – Prof. Adilson Vahldick


Exercício (prototype2)
• Implemente a funcionalidade do método spawn() da classe Spawner
fazendo as modificações necessárias nas demais classes.

Padrões de Projeto – Prof. Adilson Vahldick

Das könnte Ihnen auch gefallen