案例:Java多态实现披萨制作

编程入门 行业动态 更新时间:2024-10-23 16:27:08

<a href=https://www.elefans.com/category/jswz/34/1770649.html style=案例:Java多态实现披萨制作"/>

案例:Java多态实现披萨制作

1.编写程序实现比萨制作。需求说明编写程序,接收用户输入的信息,选择需要制作的比萨。可供选择的比萨有:培根比萨和海鲜比萨。
实现思路及关键代码
1)分析培根比萨和海鲜比萨
2)定义比萨类
3)属性:名称、价格、大小
4)方法:展示
5)定义培根比萨和海鲜比萨继承自比萨类
6)定义测试类,根据输入信息产生具体的比萨对象


该编程在一个类中完成,代码如下:

import java.util.Scanner;
public abstract class Pizza {//披萨的属性private String name;//名称private int price;//价格private int size;//大小//定义getXxx()和SetXxx()方法public String getName() {return name;}public void setName(String name) {this.name = name;}public int getPrice() {return price;}public void setPrice(int price) {this.price = price;}public int getSize() {return size;}public void setSize(int size) {this.size = size;}//定义无参的构造方法public Pizza() {}//定义有参的构造方法public Pizza(String name, int price, int size) {this.name = name;this.price = price;this.size = size;}//定义展示方法show()public void show(){System.out.println("这是披萨的制作方法");}
}//培根披萨继承Pizza
class BaconPizza extends Pizza{//定义培根披萨的特有属性private int gramNum;//克数//定义getXxx()和SetXxx()方法public int getGramNum() {return gramNum;}public void setGramNum(int gramNum) {this.gramNum = gramNum;}//定义无参的构造方法public BaconPizza() {}//定义有参的构造方法public BaconPizza(String name, int price, int size,int gramNum) {super(name, price, size);this.gramNum=gramNum;}//重写show()方法@Overridepublic void show() {System.out.println("名称:" + getName() + "\n价格:" + getPrice() + "元" + "\n大小:"+ getSize() + "\n克数:" + gramNum);}
}//海鲜披萨继承Pizza
class SeafoodPizza extends Pizza{//定义海鲜披萨的特有属性private String PeiLiao;//定义getXxx()和SetXxx()方法public String getPeiLiao() {return PeiLiao;}public void setPeiLiao(String peiLiao) {PeiLiao = peiLiao;}//定义无参的构造方法public SeafoodPizza() {}//定义有参的构造方法public SeafoodPizza(String name, int price, int size,String peiLiao) {super(name, price, size);this.PeiLiao=peiLiao;}//重写show()方法@Overridepublic void show() {System.out.println("名称:" + getName() + "\n价格:" + getPrice() + "元" + "\n大小:"+ getSize() + "\n配料:" + PeiLiao);}}//制作披萨方法
class PizzaStore{public static Pizza gerPizza(int i){//赋初始值Pizza p = null;//创建键盘录入对象Scanner sc = new Scanner(System.in);//制作培根披萨if (i==1){System.out.println("请输入培根克数:");int gramNum = sc.nextInt();System.out.println("请输入披萨大小:");int size = sc.nextInt();System.out.println("请输入披萨价格:");int price = sc.nextInt();//创建具体的披萨对象p = new BaconPizza("培根披萨",price,size,gramNum);//多态向上转型}//制作海鲜披萨if (i==2){System.out.println("请输入配料信息:");String PeiLiao = sc.next();System.out.println("请输入披萨大小:");int size = sc.nextInt();System.out.println("请输入披萨价格:");int prize = sc.nextInt();//创建具体的海鲜披萨对象p =  new SeafoodPizza("海鲜披萨",prize,size,PeiLiao);}return p;}
}//披萨测试类
class PizzaTest{public static void main(String[] args) {//创建键盘录入对象Scanner sc = new Scanner(System.in);System.out.println("请您选择想要制作的披萨:\t1、培根披萨\t2、海鲜披萨");int num = sc.nextInt();//调用PizzaStore的gerPizza()方法,返回的是披萨类Pizza p = PizzaStore.gerPizza(num);p.show();}
}

运行结果 :

请您选择想要制作的披萨:    1、培根披萨    2、海鲜披萨
1
请输入培根克数:
23
请输入披萨大小:
34
请输入披萨价格:
35
名称:培根披萨
价格:35元
大小:34
克数:23

Process finished with exit code 0

请您选择想要制作的披萨:    1、培根披萨    2、海鲜披萨
2
请输入配料信息:
虾仁、肉松、芝士
请输入披萨大小:
23
请输入披萨价格:
42
名称:海鲜披萨
价格:42元
大小:23
配料:虾仁、肉松、芝士

Process finished with exit code 0


到底啦!该编程只仅仅实现了编程,请关注java多态披萨制作2.0版本,程序功能更完全哦!

更多推荐

案例:Java多态实现披萨制作

本文发布于:2024-02-27 06:46:28,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1705570.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:案例   披萨   多态   Java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!