实现思路及关键代码
1)分析培根披萨和海鲜披萨。
2)定义披萨类(作为父类)。
属性: 名称、价格、大小;
方法:展示哦(show);
3)定义培根披萨和海鲜披萨,分别继承披萨类。
4)定义披萨工厂类,根据输入信息生产具体的披萨对象。
1,先创建父类PizzaInfo
public class PizzaInfo {
private String pizzaName;
private String pizzaMony;
private String pizzaSize;
public String getPizzaName() {
return pizzaName;
}
public void setPizzaName(String pizzaName) {
this.pizzaName = pizzaName;
}
public String getPizzaMony() {
return pizzaMony;
}
public void setPizzaMony(String pizzaMony) {
this.pizzaMony = pizzaMony;
}
public String getPizzaSize() {
return pizzaSize;
}
public void setPizzaSize(String pizzaSize) {
this.pizzaSize = pizzaSize;
}
public PizzaInfo(String pizzaName, String pizzaMony, String pizzaSize) {
this.pizzaName = pizzaName;
this.pizzaMony = pizzaMony;
this.pizzaSize = pizzaSize;
}
public PizzaInfo() {
super();
}
public void show(){
System.out.println("名称:"+pizzaName);
System.out.println("价格:"+pizzaMony+"¥");
System.out.println("大小:"+pizzaSize+"寸");
}
}
2,先创建培根披萨子类BaconPizza和海鲜披萨SeafoodPizza
public class BaconPizza extends PizzaInfo{
private double geNum;
public BaconPizza(String pizzaName, String pizzaMony, String pizzaSize, double geNum) {
super(pizzaName, pizzaMony, pizzaSize);
this.geNum = geNum;
}
public double getGeNum() {
return geNum;
}
public void setGeNum(double geNum) {
this.geNum = geNum;
}
public BaconPizza(double geNum) {
this.geNum = geNum;
}
public BaconPizza() {
super();
}
@Override
public void show(){
super.show();
System.out.println("克数:"+geNum+"克");
}
}
public class SeafoodPizza extends PizzaInfo{
private String peiliao;
public SeafoodPizza(String pizzaName, String pizzaMony, String pizzaSize, String peiliao) {
super(pizzaName, pizzaMony, pizzaSize);
this.peiliao = peiliao;
}
public String getPeiliao() {
return peiliao;
}
public void setPeiliao(String peiliao) {
this.peiliao = peiliao;
}
public SeafoodPizza(){
super();
}
public SeafoodPizza(String peiliao) {
this.peiliao = peiliao;
}
@Override
public void show(){
super.show();
System.out.println("配料:"+peiliao);
}
}
3,披萨制造工厂pizzaGc
import java.util.Scanner;
public class pizzaGc {
public static PizzaInfo pizzaInfo(int or) {
Scanner sc = new Scanner(System.in);
PizzaInfo pizza = new PizzaInfo();
if (or==1){
System.out.println("请输入生产的披萨大小:");
String pizzaSize = sc.next();
System.out.println("请输入生产的披萨价格:");
String pizzaMony = sc.next();
System.out.println("请输入生产的披萨克数:");
double geNum = sc.nextDouble();
pizza = new BaconPizza("培根披萨",pizzaMony,pizzaSize,geNum);
pizza.show();
}else if (or==2){
System.out.println("请输入生产的披萨大小:");
String pizzaSize = sc.next();
System.out.println("请输入生产的披萨价格:");
String pizzaMony = sc.next();
System.out.println("请输入生产的披萨配料:");
String peiliao = sc.next();
pizza = new SeafoodPizza("海鲜披萨",pizzaMony,pizzaSize,peiliao);
pizza.show();
}else {
System.out.println("无此披萨");
}
return pizza;
}
}
4,测试类和测试效果图
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你需要的披萨1:培根披萨 2:海鲜披萨");
int or = sc.nextInt();
pizzaGc.pizzaInfo(or);
}
}
————————————————
版权声明:本文为CSDN博主「写日记的小徐」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_46295712/article/details/120952381