您的位置:首页 > 编程语言 > C语言/C++

C语言递归

2015-12-10 18:12 423 查看
abstract class Pizza {
public abstract int getPrice(); // count the cents
}

class HamAndMushroomPizza extends Pizza {
public int getPrice() {
return 850;
}
}

class DeluxePizza extends Pizza {
public int getPrice() {
return 1050;
}
}

class HawaiianPizza extends Pizza {
public int getPrice() {
return 1150;
}
}

class PizzaFactory {
public enum PizzaType {
HamMushroom,
Deluxe,
Hawaiian
}

public static Pizza createPizza(PizzaType pizzaType) {
switch (pizzaType) {
case HamMushroom:
return new HamAndMushroomPizza();
case Deluxe:
return new DeluxePizza();
case Hawaiian:
return new HawaiianPizza();
}
throw new IllegalArgumentException("The pizza type " + pizzaType + " is not recognized.");
}
}

class PizzaLover {
/*
* Create all available pizzas and print their prices
*/
public static void main (String args[]) {
for (PizzaFactory.PizzaType pizzaType : PizzaFactory.PizzaType.values()) {
System.out.println("Price of " + pizzaType + " is " + PizzaFactory.createPizza(pizzaType).getPrice());
}
}
}

Output:
Price of HamMushroom is 850
Price of Deluxe is 1050
Price of Hawaiian is 1150

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: