Java基础之模拟披萨店

  • 实验内容
  • 题目一
    • 实验代码
    • 实验结果
  • 题目二
    • 实验代码
    • 实验结果
  • 题目三
  • 实验代码
    • 实验结果

实验内容

题目一

抽象类:编写一个程序,实现模拟开披萨店

  • 定义一个抽象类,Pizza,包括成员变量,名字,口味,辅料,实现构造函数,实现制作Pizza的步骤,包括准备,和面,烘烤,切片,后两个是抽象方法。
  • 定义一个抽象类,PizzaStore,实现定披萨的方法orderPizza,传入Pizza的名字,返回Pizza,定义一个抽象方法,createPizza,在orderPizza中调用,实现不可以预定并制作不同口味的pizza。
  • 分别定义两个Pizza的子类继承Pizza,并分别实现抽象方法
  • 定义一个PizzaStore的子类继承PizzaStore,实现抽象方法
  • 主类:生成两款Pizza,和一个PizzaStore店对象,实现购买Pizza

实验代码

披萨:

package ShiYan5;
abstract public class Pizza {public String name;public String taste;public String accessories;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getTaste() {return taste;}public void setTaste(String taste) {this.taste = taste;}public String getAccessories() {return accessories;}public void setAccessories(String accessories) {this.accessories = accessories;}public void Prepare() {System.out.println("正在准备ing");}public void Mix() {System.out.println("正在和面");}public abstract void Bake();public abstract void Slicing();
}

披萨店:

package ShiYan5;
abstract public class PizzaStore {public Pizza OrderPizza(String type) {Pizza pz = CreatePizza(type);pz.Prepare();pz.Mix();pz.Bake();pz.Slicing();return pz;}public abstract Pizza CreatePizza(String type);
}

芝士披萨:

public class CheesePizza extends Pizza {public CheesePizza() {name = "芝士披萨";taste = "甜";accessories = "芝士";}@Overridepublic void Bake() {// TODO Auto-generated method stubSystem.out.println("正在烘焙,请稍等30min");}@Overridepublic void Slicing() {// TODO Auto-generated method stubSystem.out.println("切8份");}
}

烤肉披萨:

public class BarbecuePizza extends Pizza {public BarbecuePizza() {name = "烤肉披萨";taste = "咸";accessories = "肉";}@Overridepublic void Bake() {// TODO Auto-generated method stubSystem.out.println("正在烘焙,请稍等40min");}@Overridepublic void Slicing() {// TODO Auto-generated method stubSystem.out.println("切成10份");}
}

烤肉披萨店(继承披萨店):

public class BarbecuePizzaStore extends PizzaStore {@Overridepublic Pizza CreatePizza(String type) {if(type.equals("芝士披萨")) {CheesePizza cp = new CheesePizza();return cp;}else if(type.equals("烤肉披萨")) {BarbecuePizza bp = new BarbecuePizza();return bp;}return null;}
}

测试类:

import java.util.Scanner;
public class Test {public static void main(String[] args) {// TODO Auto-generated method stubScanner type = new Scanner(System.in);BarbecuePizzaStore pz = new BarbecuePizzaStore();System.out.println("请输入您所需的披萨");System.out.println("1:芝士披萨");System.out.println("2:烤肉披萨");int b = type.nextInt();String a = null;if(b == 1) {a = "芝士披萨";}else if(b == 2) {a = "烤肉披萨";}else {System.out.println("请重新输入");}pz.OrderPizza(a);}
}

实验结果

题目二

多态:编写一个程序,程序包括如下内容

  • 定义一个Animal的类,成员变量包括名字,年龄,皮毛肤色,实现构造函数,实现成员函数Enjoy,打印动物是可以高兴的
  • 定义一个Cat的类,继承Animal的类,继承构造函数,并且重写成员函数,打印猫高兴了要喵喵叫
  • 定义一个Dog的类,继承Animal的类,继承构造函数,并且重写成员函数,打印狗高兴了要旺旺叫
  • 定义一个Lady的类,成员变量包括名字,年龄和宠物Animal,实现构造函数,实现成员函数MyPetEnjoy,逗宠物高兴
  • 主类:实现一个Dog的对象,一个Cat对象,实现Lady对象,实现Lady逗宠物猫和狗。

实验代码

宠物大类:

package petpg;
import foodpg.Food;
public class Pet {private String name;private String color;private int age;public Pet(String name, String color, int age) {super();this.name = name;this.color = color;this.age = age;}public String getName() {return name;}public void enjoy() {System.out.println("我很高兴");}
}

Java基础之模拟披萨店相关推荐

  1. Java基础实现模拟地下城与勇士(DNF)的装备强化过程

     大家好,我是kai_Childe,作为一名java刚入门的小白,本期就以java基础来模拟地下城与勇士(DNF)的装备强化过程,并以此来记录我的学习过程. 文章目录 强化未成功惩罚机制 各等级强化成 ...

  2. java初级atm取款机,java基础:模拟ATM取款机

    package com.atm; import java.util.Scanner; /** * ATM类实现 * * @author 向往的生活 */ public class ATM { publ ...

  3. java基础案例-模拟双色球

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.需求 二.分析 三.代码 四.效果图 总结 如何保证随机的6个中奖的红球号码不重复. 如何统计红球命中数量 一.需求 1 ...

  4. 设计模式之四:工厂方法模式(披萨店生产披萨模拟流程)

    工厂方法模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个.工厂方法让类把实例化推迟到子类.(披萨店生产披萨模拟流程) 工厂方法模式通过让子类决定该创建的对象是什么,来达到将对象的过程封 ...

  5. 设计模式之四:抽象工厂(披萨店生产披萨模拟流程)

    抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类.(披萨店生产披萨模拟流程) 抽象工厂允许客户使用抽象的接口来创建一组相关的产品,而不需要知道(或关心)实际产出的具体产 ...

  6. java基础项目-抽奖机-模拟双色球-大乐透

    java基础项目-抽奖机-模拟双色球-大乐透: 创建了很多的方法逐个编译的,做的很新手 不足之处希望多多交流.谢谢. 需求分析: 欢迎界面 欢迎使用超级幸运抽奖机 选彩种(1.双色球:2.超级大乐透) ...

  7. 运用JAVA基础阶段知识,模拟双色球机选抽奖过程

    运用JAVA基础阶段知识,模拟双色球机选抽奖过程 在控制台输入抽奖次数,进行双色球抽奖,并统计中奖结果 //双色球(机选) //红球33个选6个,蓝球16个选1个 //中奖号码设定为1,2,3,4,5 ...

  8. niit java证书_NIIT认证Java基础全真模拟试题

    NIIT认证Java基础全真模拟试题 一.判断题(每题2分,共16分) 1. Java的字符类型采用的是Unicode编码,但所占字节由具体软硬件环境决定. ( ) 2.Java的源代码中定义几个类, ...

  9. 设计模式之四:简单工厂(披萨店生产披萨模拟流程)

    简单工厂不是一个设计模式,只是一种变成习惯,常被误认为是"工厂模式".(披萨店生产披萨模拟流程) 工程名称:SimpleFactory  下载目录:http://www.cnblo ...

最新文章

  1. Android 金融类项目模块化架构
  2. STL 源代码剖析 算法 stl_algo.h -- equal_range
  3. java手机杀毒_Android项目实战_手机安全卫士splash界面
  4. 图像分割的「奇技淫巧」
  5. 20170623_oracle_SQL
  6. php事件检测,细说浏览器特性检测(2)-通用事件检测_jquery
  7. 《SpringBoot实战》笔记1
  8. 免疫算法小结及算法实例(附Matlab代码)
  9. 栅栏密码怎么写java程序_[CTF]栅栏密码学习
  10. 冰汽朋克侦查机器人_冰汽时代机器流玩法 寒霜朋克机器人流玩法怎么玩
  11. 一年月份大小月口诀_大月小月口诀 什么意思 有多少天
  12. ARM基础(1):Cortex-M3的核心寄存器和特殊寄存器
  13. 王权理财:鹰派寒气逼人金价开启跌势,天然气跌势暂缓有望反弹拉升
  14. 【SQL语言——SELECT查询操作】
  15. UIP移植到CC2530上
  16. 手动使用GHOST恢复系统的详细图解
  17. 北美跨境电商平台Wish透露未来一年在华规划
  18. 十款值得推荐的php开发工具
  19. 资产管理系统 CMDB 详解
  20. 在PHP用二维数组制作功课表表格,【转】PHP教程丨文章管理系统-文章列表(二维数组)...

热门文章

  1. 种群优化算法:细菌觅食优化
  2. PS高阶操作之羊皮卷材质
  3. python2实现模拟登陆UESTC信息门户
  4. JSON 数据格式是什么样的呢~
  5. 球员都有一种病,名字叫迷信
  6. C语言数字转字符串的几种方法
  7. 重庆市教育发展现状可视化分析报告(Python)
  8. 【GBase 8a MPP数据库集群】使用 AUTOFILL 关键字补齐缺失数据
  9. mysql coalesce函数_mysql coalesce函数
  10. 全球电梯和自动扶梯行业收入预计2028年达到823.6亿美元