编写Java程序,通过接口摸拟麦当劳食物生产过程,接口设计
返回本章节
返回作业目录
需求说明:
通过接口摸拟麦当劳食物生产过程

实现思路:
通过接口摸拟麦当劳食物生产过程的实现思路:
创建接口食物(Food),该接口需要被所有的食物类所实现。在该接口中定义getFood()方法。
创建麦香鸡类(McChicken) ,该类实现Food接口,并重写Food接口的getFood()方法。
创建薯条类(Chips),该类实现Food接口,并重写Food接口的getFood()方法。
创建生产食品的工厂类(FoodFactory),在该类中定义静态方法createFood(String type)方法,在该方法中通过传入参数的字符串值,判断用户需要何种食物,如果工厂中有该食物,则创建该食物对象,否则给出友好提示信息。
实现代码:
接口食物(Food):
public interface Food {
void getFood();
}
麦香鸡类(McChicken):
public class McChicken implements Food {
@Override
public void getFood() {
}
}
薯条类(Chips):
public class Chips implements Food{
@Override
public void getFood() {
}
}
生产食品的工厂类(FoodFactory):
public class FoodFactory {
public static Food createFood(String type){
//通过传递的字符串参数判断用户需要的食物
if(type.equals("mcchicken")) {
//如果条件满足则创建对象的食物对象
return new McChicken();
}else if(type.equals("chips")) {
return new Chips();
} else {
System.out.println("对不起没有该食物!");
return null;
}
}
}
创建客户(Client):
public class Client {
public static void main(String[] args) {
//通过食物工厂创建食物
Food mcchicken=FoodFactory.createFood("mcchicken");
mcchicken.getFood();
Food chips=FoodFactory.createFood("chips");
chips.getFood();
}
}
编写Java程序,通过接口摸拟麦当劳食物生产过程,接口设计的更多相关文章
- 35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n); (2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方 法时,要求计算1到n的和; (3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口 方法时,要求计算n的阶乘(n
35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n): (2)编写一个类:ClassA来实现接口InterfaceA,实现in ...
- 初学编写JAVA程序
一.编写JAVA程序 编写JAVA程序,输出一行文本信息:“Hello world”,选择编辑器eclipse,打开之后编写程序 public class Hello{ public static v ...
- Java初学者作业——使用记事本编写Java程序
返回本章节 返回作业目录 需求说明: 使用记事本编写 Java 程序,输出"大家好!我的梦想是做一名 Java 高级工程师!". 为 Java 程序添加单行和多行注释以及文档注释. ...
- Java初学者作业——编写Java程序,实现用户登录验证。
返回本章节 返回作业目录 需求说明: 编写Java程序,实现用户登录验证. 若用户名与密码输入正确,则提示"登录成功,欢迎回来!",若用户名与密码不匹配,则提示"用户名和 ...
- Java初学者作业——编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数。
返回本章节 返回作业目录 需求说明: 编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数. 实现思路: 声明变量sum.count以及avg用于存储总成绩.班 ...
- Java初学者作业——编写Java程序,输入一个数字,实现该数字阶乘的计算。
返回本章节 返回作业目录 需求说明: 编写Java程序,输入一个数字,实现该数字阶乘的计算.一个数字的阶乘是所有小于及等于该数的正整数的积,自然数n的阶乘写作n! .例如,5的阶乘等于1*2*3*4* ...
- Java初学者作业——编写Java程序,实现判断所输入字符的类型(数字、小写字母、大写字母或其他字符)
返回本章节 返回作业目录 需求说明: 编写Java程序,实现判断所输入字符的类型(数字.小写字母.大写字母或其他字符) 实现思路: 声明变量c,用于存储用户输入的字符. 通过Scanner接收用户输入 ...
- Java初学者作业——编写Java程序, 实现根据用户购买商品总金额, 计算实际支付的金额及所获得的购物券金额。
返回本章节 返回作业目录 需求说明: 编写Java程序, 实现根据用户购买商品总金额, 计算实际支付的金额及所获得的购物券金额. 购买总金额达到或超过 1000元,按 8折优惠,送 200元的购物券: ...
- Java初学者作业——编写JAVA程序,计算跳水运动员本次动作的最终得分。
返回本章节 返回作业目录 需求说明: 编写JAVA程序,计算跳水运动员本次动作的最终得分. 规则如下: 在跳水比赛中,共有六位裁判对运动员所完成的动作进行评分,每位裁判的评分在0-10之间,运动员最终 ...
随机推荐
- OpenStack之之一: 快速添加计算节点
根据需求创建脚本,可以快速添加节点#:初始化node节点 [root@node2 ~]# systemctl disable NetworkManager [root@node2 ~]# vim /e ...
- spring boot项目创建与使用
概述 spring boot通常使用maven创建,重点在于pom.xml配置,有了pom.xml配置,可以先创建一个空的maven项目,然后从maven下载相关jar包. spring boot d ...
- 【Service】【Database】【MySQL】基础概念
1. 数据模型:层次模型.网状模型.关系模型 关系模型: 二维关系: 表:row, column 索引:index 视图:view 2. SQL接口:Structured Query Language ...
- Spring Boot的异步任务、定时任务和邮件任务
一.异步任务 1.启动类添加注解@EnableAsync,开启异步任务注解功能: 2.需要异步执行的方法上添加@Async注解. 二.定时任务 1.启动类添加注解@EnableScheduling,开 ...
- 全面解析 | 钥匙环服务的应用场景&商业价值
在互联互通的场景驱动下,同一开发者旗下常常拥有多款应用或者多个应用形态,用户在同一设备的不同应用或端口登录时,即便使用同一帐号,仍需要重复输入密码进行验证,操作复杂,直接影响到用户的使用体验,而华为钥 ...
- 第43篇-JNI引用的管理(2)
之前我们已经介绍了JNIHandleBlock,但是没有具体介绍JNIHandleBlock中存储的句柄,这一篇我们将详细介绍对这些句柄的操作. JNI句柄分为两种,全局和局部对象引用: (1)大部分 ...
- 高可靠性——TSN 802.1Qci协议介绍
TSN协议族根据实现功能可以分为:定时与同步.延时.可靠性和资源管理四个类别,往期的时间同步--TSN协议802.1AS介绍一文向大家介绍了定时与同步功能的核心--802.1AS协议,而在基于TSN工 ...
- Azure Virtual Netwok(二)配置 ExpressRoute 虚拟网络网关
一,引言 我们可以使用 ExpressRoute 可通过连接服务提供商所提供的专用连接,将本地网络扩展到 Microsoft Cloud,实现了网络的混合连接.使用 ExpressRoute 可与 M ...
- LuoguB2029 大象喝水 题解
Update \(\texttt{2021.12.4}\) 修改了原先的错误代码,给各位造成影响,在此表示很抱歉. Content 大象要喝 \(20\) 升水,但现在只有一个深 \(h\) 厘米,半 ...
- AcWing3544. 寻找变化前的01序列
题目描述 给你一个 01 序列,HDLC 协议处理的话,如果出现连续的 5 个 1 会补 1 个 0. 例如 1111110,会变成 11111010. 现在给你一个经过 HDLC 处理后的 01 序 ...