ola estou precisando de ajuda com o seguinte codigo:
[code]package br.edu.assesc.trabalho04.ricardo.questao01;
import java.util.Iterator;
import java.util.List;
public abstract class Pizzaria {
private List pizzas;
/**
* Este metodo devera receber uma nova pizza e inserir na lista de pizzas
*/
public abstract void recebeNovoPedido(Pizza p);
/**
* Este metodo devera preparar todas as pizzas que tem pedido efetuado
*/
public final void prepararAsPizzas() {
for (Pizza p : pizzas) {
prepararMolho(p);
prepararRecheio(p);
}
}
/**
* Este metodo devera preparar o molho de acordo com a pizza
*/
public abstract void prepararMolho(Pizza p);
/**
* Este metodo devera preparar o recheio de acordo com os itens de recheio
* da pizza
*/
public abstract void prepararRecheio(Pizza p);
/**
* Este metodo devera entregar todas as pizzas para os clientes
*/
public void entregarParaCliente() {
Iterator<Pizza> lista = pizzas.iterator();
while (lista.hasNext()) {
Pizza p = lista.next();
System.out.println("Pizza " + p.getNome() + " entregue!");
lista.remove();
}
}
public List<Pizza> getPizzas() {
return pizzas;
}
public void setPizzas(List<Pizza> pizzas) {
this.pizzas = pizzas;
}
}
[/code]
[code]package br.edu.assesc.trabalho04.ricardo.questao01;
public class MinhaPizzaria extends Pizzaria {
public void recebeNovoPedido(Pizza p) {
}
@Override
public void prepararMolho(Pizza p) {
System.out.println("molho preparado");
}
@Override
public void prepararRecheio(Pizza p) {
System.out.println("recheio preparado");
}
}
[/code]
[code]package br.edu.assesc.trabalho04.ricardo.questao01;
import java.util.ArrayList;
public class TestarPizzaria {
public static void main(String[] args) {
// As variaveis criadas devem ser sempre do tipo
// da classe abstrata
// 1)Criar instancia de pizzaria
ArrayList<Pizza> nova = new ArrayList<Pizza>();
MinhaPizzaria rkd0 = new MinhaPizzaria();
// 2)Fazer pelo menos 2 pedidos
PizzaPresunto p1 = new PizzaPresunto();
PizzaQueijo p2 = new PizzaQueijo();
nova.add(p1);
nova.add(p2);
rkd0.setPizzas(nova);
rkd0.recebeNovoPedido(p1);
// 3)mandar preparar pedidos
rkd0.prepararAsPizzas();
// 4)mandar entregar os pedidos
rkd0.entregarParaCliente();
}
}[/code]
na classe TestarPizzaria quando chamo o metodo receberNovoPedido e coloco como parametro a p1 ou p2 da erro.
se alguém puder ajudar agradeço.
public abstract class Pizza {
private String nome;
private String molho;
private List<String> itensRecheio;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getMolho() {
return molho;
}
public void setMolho(String molho) {
this.molho = molho;
}
public List<String> getItensRecheio() {
return itensRecheio;
}
public void setItensRecheio(List<String> itensRecheio) {
this.itensRecheio = itensRecheio;
}
}
[code]package br.edu.assesc.trabalho04.rafael.questao01;
import java.util.ArrayList;
import java.util.List;
public class PizzaPresunto extends Pizza {
public PizzaPresunto(){
this.setNome("Presunto");
this.setMolho("tomate");
List<String> itens = new ArrayList<String>();
itens.add("queijo");
itens.add("presunto");
this.setItensRecheio(itens);
}
}
[/code]