分析: 1、培根披萨:克数、名称、价格、大小 2、海鲜披萨:配料信息、名称、价格、大小 由于培根披萨和海鲜披萨存在共性,所有我提取出来到一个抽象类中 3、披萨:名称、价格、大小 4、定义展示方法show() 5、定义生产披萨方法PizzaStore 6、键入输入对象 7、定义测试类、根据输入信息产生具体的比萨对象
本次编程我们将分成多个类完成。
public abstract class Pizza {
private String name;//名称
private int size;//大小
private int price;//价格
//创建getXxx()和setXxx()方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
//创建有参的构造方法
public Pizza(String name, int size, int price) {
this.name = name;
this.size = size;
this.price = price;
}
//创建无参的构造方法
public Pizza() {
}
//创建抽象方法展示类show()
public abstract void show();
}
public class BaconPizza extends Pizza {
//定义培根披萨的特有属性:克
private int gramNum;
//创建getXxx()和setXxx()方法
public int getGramNum() {
return gramNum;
}
public void setGramNum(int gramNum) {
this.gramNum = gramNum;
}
//创建有参的构造方法
public BaconPizza(String name, int size, int price, int gramNum) {
super(name, size, price);
this.gramNum = gramNum;
}
//创建无参的构造方法
public BaconPizza() {
}
//重写展示类show()方法
@Override
public void show() {
System.out.println("名称:" + getName() + "\n价格:" + getPrice() + "元" + "\n大小:" + getSize() + "寸" + "\n克数:" + gramNum );
}
}
public class SeaFoodPizza extends Pizza{
//定义海鲜披萨的特有属性:配料
private String PeiLiao;
//创建get()Xxx和set()Xxx方法
public String getPeiLiao() {
return PeiLiao;
}
public void setPeiLiao(String peiLiao) {
PeiLiao = peiLiao;
}
//创建有参的构造方法
public SeaFoodPizza(String name,String peiLiao, int size, int price) {
super(name, size, price);
PeiLiao = peiLiao;
}
//创建无参的构造方法
public SeaFoodPizza() {
}
//重写展示类show()方法
@Override
public void show() {
System.out.println("名称:" + getName()+ "\n配料:" + PeiLiao + "\n价格:" + getPrice() + "元" + "\n大小:" + getSize() + "寸" );
}
}
import java.util.Scanner;
public abstract class PizzaTest {
public static void main(String[] args) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
while (true){
System.out.println("请选择想要制作的比萨(1、培根比萨 2、海鲜比萨)");
int i = sc.nextInt();
if(i==1){
Pizza pizza = new BaconPizza();
System.out.print("请输入培根克数:");
int gramNum = sc.nextInt();
System.out.print("请输入比萨大小:");
int size = sc.nextInt();
System.out.print("请输入比萨价格:");
int price = sc.nextInt();
pizza.setName("培根比萨");
((BaconPizza) pizza).setGramNum(gramNum);
pizza.setSize(size);
pizza.setPrice(price);
pizza.show();
}else if (i==2){
Pizza pizza = new SeaFoodPizza();
System.out.print("请输入配料信息:");
String peiliao = sc.next();
System.out.print("请输入比萨大小:");
int size = sc.nextInt();
System.out.print("请输入比萨价格:");
int price = sc.nextInt();
pizza.setName("海鲜比萨");
((SeaFoodPizza) pizza).setPeiLiao(peiliao);
pizza.setSize(size);
pizza.setPrice(price);
pizza.show();
}else if (i==0){
System.out.println("欢迎下次光临!");
break;
}else {
System.out.println("没有您想要制作的比萨,请重新选择您想要制作的比萨,输入0退出");
}
}
}
}
运行结果:
请选择想要制作的比萨(1、培根比萨 2、海鲜比萨)
1
请输入培根克数:20
请输入比萨大小:13
请输入比萨价格:25
名称:培根比萨
价格:25元
大小:13寸
克数:20
请选择想要制作的比萨(1、培根比萨 2、海鲜比萨)
2
请输入配料信息:肉松、虾仁、芝士
请输入比萨大小:23
请输入比萨价格:26
名称:海鲜比萨
配料:肉松、虾仁、芝士
价格:26元
大小:23寸
请选择想要制作的比萨(1、培根比萨 2、海鲜比萨)
3
没有您想要制作的比萨,请重新选择您想要制作的比萨,输入0退出
请选择想要制作的比萨(1、培根比萨 2、海鲜比萨)
0
欢迎下次光临!Process finished with exit code 0
到底啦!给个关注吧!