面向对象继承 多态的经典案例:

编写程序实现披萨的制作。按需求说明编写程序,接收输人信息
     选择需要制作的披萨。
     可供选择的披萨有培根披萨和海鲜披萨
     实现思路如下:
  (1)分析培根披萨和海鲜披萨。
  (2)定义披萨类(作为父类)。
     属性:名称、价格、大小;
     方法:展示(show)。
  (3)定义培根披萨和海鲜披萨,分别继承披萨类。
  (4)定义披萨工厂类,根据输人信息生产具体的披萨对象。

参考代码:

public class PiSa {   //测试类public static void main(String[] args) {Scanner in=new Scanner(System.in);System.out.println("请输入你要生产的披萨:");System.out.println("1.培根披萨");System.out.println("2.海鲜披萨");int a=in.nextInt();pisaf p=pisagc.pisaf(a); //调用披萨工厂类pisaf中的方法-->返回的是披萨类System.out.println(p.show());}
}
class pisaf{//父类 ---披萨类//属性私有private String name;//名称private int size;//大小private double price;//价格public  pisaf(){//无参构造方法super();}public pisaf(String name,int size,double price){//有参构造方法super();this.name=name;this.size=size;this.price=price;}//get set 访问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 double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public String show(){//show方法return "我是父类 你们可以随便改!";}
}class pensa extends pisaf{//培根披萨---子类//属性私有private double genum;//克public  pensa(){//无参构造super();}public pensa(String name,int size,double price,double genum){//有参构造super(name,size,price);this.genum=genum;}//get set 访问public double getGenum() {return genum;}public void setGenum(double genum) {this.genum = genum;}//重写show方法public String show(){//方法重写return "名称:"+super.getName()+"\n大小:"+super.getSize()+"寸\n价格:"+super.getPrice()+"元"+"\n克数:"+genum+"克";}}class haisa extends pisaf{//海鲜披萨---子类private String peiliao;//配料//get set访问public String getPeiliao() {return peiliao;}public void setPeiliao(String peiliao) {this.peiliao = peiliao;}public haisa(){//无参构造super();}public haisa(String name,int size,double price,String peiliao){//有参构造super(name,size,price);this.peiliao=peiliao;}public String show(){//重写showreturn "名称:"+super.getName()+"\n大小:"+super.getSize()+"寸\n价格:"+super.getPrice()+"元"+"\n配料:"+peiliao;}}class pisagc{//披萨工厂类---主要是生产披萨public static pisaf pisaf(int or){//得到披萨的方法Scanner in=new Scanner(System.in);pisaf p=null;//赋初始化为空if(or==1){//培根披萨System.out.println("请输入您要生产披萨的大小:");int size=in.nextInt();System.out.println("请输入您要生产披萨的价格:");double price=in.nextDouble();System.out.println("请输入您要生产披萨的克数:");double genum=in.nextDouble();//创建具体的培根披萨:--创建对象:p=new  pensa("培根披萨",size,price,genum);//多态---向上转型}if(or==2){//海鲜披萨System.out.println("请输入您要生产披萨的大小:");int size=in.nextInt();System.out.println("请输入您要生产披萨的价格:");double price=in.nextDouble();System.out.println("请输入您要生产披萨的配料:");String peiliao=in.next();//创建具体的培根披萨:--创建对象:p=new haisa("海鲜披萨",size,price,peiliao);//多态---向上转型}return p;//根据需求生产具体披萨后,并返回}}

运行效果如下图:

编写程序实现披萨制作 可供选择的披萨有:培根披萨和海鲜披萨相关推荐

  1. 编写程序实现比萨制作。需求说明编写程序,接收用户输入的信息,选择需要制作的比萨。可供选择的比萨有:培根比萨和海鲜比萨。

    面向对象继承封装多态经典案例: 编写程序实现比萨制作.需求说明编写程序,接收用户输入的信息,选择需要制作的比萨.可供选择的比萨有:培根比萨和海鲜比萨. 实现思路及关键代码 1)分析培根比萨和海鲜比萨 ...

  2. 编写程序实现披萨的制作。需求说明编写程序,接收输入信息,选择需要制作的披萨。可供选择的披萨有:培根披萨和海鲜披萨。

    运行效果下截图 下面是代码 public class Pizza {//披萨类,父类 //私有属性         private String name;         private Doubl ...

  3. 编写程序实现比萨制作

    需求说明编写程序,接收用户输入的信息,选择需要制作的比萨.可供选择的比萨有:培根比萨和海鲜比萨. 实现思路及关键代码 1) 分析培根比萨和海鲜比萨 2) 定义比萨类 3) 属性:名称.价格.大小 4) ...

  4. 编写程序实现披萨的制作

    需求说明编写程序,接收输入信息,选择需要制作的披萨.可供选择的披萨有:培根披萨和海鲜披萨. 实现思路及关键代码 1)分析培根披萨和海鲜披萨. 2)定义披萨类(作为父类). 属性: 名称.价格.大小: ...

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

    1.编写程序实现比萨制作.需求说明编写程序,接收用户输入的信息,选择需要制作的比萨.可供选择的比萨有:培根比萨和海鲜比萨. 实现思路及关键代码 1)分析培根比萨和海鲜比萨 2)定义比萨类 3)属性:名 ...

  6. 3.1 该如何编写程序界面

    3.1 该如何编写程序界面 Android中有好几种编写程序界面的方式可供你选择.比如使用DroidDraw,这是一种 可视化的界面编辑工具,允许使用拖拽控件的方式来编写布局.Eclipse和Andr ...

  7. java面向对象的定义--1.培根披萨 2,海鲜披萨

    import java.util.Scanner;public class Pizza{private int size;private int price;private String name;p ...

  8. Python基础(编写程序制作英文学习词典)

    制作英文学习词典.编写程序制作英文学习词典,词典有3个基本功能:添加.查询和退出.程序读取源文件路径下的txt格式词典文件,若没有就创建一个.词典文件存储方式为"英文单词 中文单词" ...

  9. Java黑皮书课后题第5章:*5.43(数学:组合)编写程序,显示从整数1到7中选择两个数字的所有组合,同时显示所有组合的总个数

    5.43(数学:组合)编写程序,显示从整数1到7中选择两个数字的所有组合,同时显示所有组合的总个数 题目 题目概述 破题 运行示例(要求) 代码 题目 题目概述 5.43(数学:组合)编写程序,显示从 ...

最新文章

  1. MongoDB之conf配置文件详解
  2. mysql的模糊查询在xml_数据库模糊查询语句(mybatis中运用(xml文件))
  3. 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值 解决方案...
  4. Linux下设置主机的FQDN
  5. 大讲堂 | 预测时间敏感的机器学习模型建模与优化
  6. 容器编排技术 -- Kubernetes Pod概述
  7. 安装meme_我见过的最好JavaScript Meme,详细说明了
  8. Spring Boot 菜鸟教程 application.properties 常用配置
  9. Docker加入白名单
  10. 解决8080端口被占用问题
  11. Android开发入门(一)
  12. 李岩 太极计算机,《高中体育游戏300例》李岩_孔网
  13. mysql怎么tonumber_orcale中的to_number方法使用
  14. Unity 3D中级项目:捕鱼达人
  15. 使用maven为web工程引入jstl包时报错
  16. 日式卡通渲染的效果的unity实现
  17. Hibernate 主键使用注解 @SequenceGenerator
  18. Hadoop HIPI
  19. 机器学习之用Python梯度下降法实现预测
  20. 『征文精选』技术翻译与术语管理技术:专业人说专业话

热门文章

  1. 就打一个小补丁?Win 10一周年更新版亮相
  2. Jquery控制div滚动,但不显示滚动条
  3. 2022win11系统 MySQL下载安装配置全解(超详细哟)
  4. New 21 Game 新21点
  5. 将.zip文件转换成字符串进行传送(以支付宝对账单为例)
  6. 桌面计算机恢复出厂设置,电脑恢复出厂设置教程
  7. SpringBoot整理
  8. 蛇哥开局两星机器人视频_7人口两星死歌?真脸白欧皇!蛇哥:这是什么鬼东西!...
  9. 200万日本男性首选的黑科技太空裤!首创式“枪弹分离”,不仅保暖,关键是舒服!!...
  10. 复杂问题的简单抽象:魔兽世界中的兔子们