披萨制作"/>
简单多态小应用 实现使用编程实现披萨制作
- 编写程序实现比萨制作。需求说明编写程序,接收用户输入的信息,选择需要制作的比萨。可供选择的比萨有:培根比萨和海鲜比萨。
实现思路及关键代码
- 分析培根比萨和海鲜比萨
- 定义比萨类
- 属性:名称、价格、大小
- 方法:展示
- 定义培根比萨和海鲜比萨继承自比萨类
- 定义比萨工厂类,根据输入信息产生具体的比萨对象
程序运行结果如图所示
需求分析已写
首先创建一Pizza类
1.定义一个showPizza()方法以及其他set,get方法
package PizzaDemo1;class Pizza {private String name;private int price;private String size;public Pizza(){};public Pizza(String name , int price , String Size){this.name = name;this.price = price;this .size = Size;}public void setName(String name){this.name = name;}public String getName(){return this.name;}public void setPrice(int price){this.price = price;}public int getPrice(){return this.price;}public void setSize(String size){this.size = size;}public String getSize(){return this.size;}public void showPizza(){System.out.println("展示披萨");}
}
2.定义一个BeaconPizza()类,并且这个类继承于Pizza,在这个类中重写showPizza()方法,在showPizza()中使用键盘录入,并使用多态形式的有参构造赋值,。
package PizzaDemo1;import java.util.Scanner;public class BeaconPizza extends Pizza {public BeaconPizza(){};public BeaconPizza(String name, int price , String size){super(name,price,size);}public void showPizza (){int k = 0;System.out.print("请输入培根克数:");Scanner sc = new Scanner(System.in);k = sc.nextInt();System.out.print("请输入披萨大小");String S = sc.next();System.out.print("请输入披萨的价格");int p = sc.nextInt();Pizza b = new BeaconPizza("培根披萨",p,S);System.out.println("名称:"+b.getName());System.out.println("价格:"+b.getSize());System.out.println("大小:"+b.getPrice());System.out.println("培根克数:"+ k);}
}
3.定义一个SeafoodPizza()类,其里面的内容大致与BeaconPizza()相同,重写的showPizza()方法中有一些小区别。
package PizzaDemo1;import java.util.Scanner;public class SeafoodPizza extends Pizza {public SeafoodPizza(){};public SeafoodPizza(String name, int price , String size){super(name,price,size);}public void showPizza (){String m;System.out.print("你需要放入的海鲜:");Scanner sc = new Scanner(System.in);m = sc.next();System.out.println("请输入披萨大小");String S = sc.next();System.out.println("请输入披萨的价格");int p = sc.nextInt();Pizza b = new SeafoodPizza("海鲜披萨", p, S);System.out.println("名称:" + b.getName());System.out.println("价格:" + b.getSize());System.out.println("大小:" + b.getPrice());System.out.println("放入的海鲜:" + m);}
}
4.创建一个Pizzafactory()类,定义一个choose方法,来对输入的值进行判断来确定是制作培根披萨还是海鲜披萨。在不同的判断条件下执行不同的方法。
在这个类的makeBaconPizza()和makeSeaFoodPizza()中,使用多态方法来调用我们已经重写的showPizza()方法。
package PizzaDemo1;import java.util.Scanner;public class Pizzafactory {public void choose(){System.out.println("请选择你需要制作的披萨:1.培根披萨 2.海鲜披萨");Scanner sc = new Scanner(System.in);int num = sc.nextInt();if(num == 1 ){makeBaconPizza();}else if (num == 2){makeSeafoodPizza();}else {System.out.println("无法制作其他种类");}}public void makeBaconPizza(){Pizza p = new BeaconPizza();p.showPizza();}public void makeSeafoodPizza() {Pizza s = new SeafoodPizza();s.showPizza();}
}
5.定义一个Test类,调用choose方法
package PizzaDemo1;public class PizzaTes {public static void main(String[] args) {Pizzafactory pf = new Pizzafactory();pf.choose();}
}
题目简单,实现方法多样,我只是在学习过程中记录练习。如有错误还请指出,一定改正。
更多推荐
简单多态小应用 实现使用编程实现披萨制作
发布评论