///
Observe o código em Java mostrado a seguir. Considere todas as classes definidas em um mesmo pacote.
public abstract class Pizza {
protected String nome;
protected double preco;
public String getNome() {
return nome;
}
public double getPreco() {
return preco;
}
}
public class Massa extends Pizza {
public Massa(String n, char tamanho) {
switch (tamanho) {
case ‘P’:
nome = n+” pequena com:”;
preco = 10.0;
break;
case ‘M’:
nome = n+” média com:”;
preco = 18.0;
break;
default:
nome = n+” grande com:”;
preco = 25.0;
}
}
}
public class Recheio extends PizzaSabor {
public Recheio(Pizza pizza, String n, double p) {
super(pizza);
nome = n;
preco = p;
}
}
public abstract class PizzaSabor extends Pizza{
Pizza pizza;
public PizzaSabor(Pizza p) {
pizza = p;
}
@Override
public String getNome() {
return pizza.getNome() + nome;
}
@Override
public double getPreco() {
return pizza.getPreco() + preco;
}
}
public class PadraoGOF {
public static void main(String[] args) {
Pizza p = new Massa(“Marguerita”, ‘P’);
p = new Recheio(p, “ Muçarela”, 3.0);
p = new Recheio(p, “ Manjericão”, 2.0);
System.out.println(p.getNome() + “ = “ + p.getPreco());
}
}O comando que corresponde ao nome do padrão de projeto Gang of Four ( GoF) que foi utilizado é