编写Java程序,通过接口摸拟麦当劳食物生产过程,接口设计
2024-09-01 19:58:34
返回本章节
返回作业目录
需求说明:
通过接口摸拟麦当劳食物生产过程
实现思路:
通过接口摸拟麦当劳食物生产过程的实现思路:
创建接口食物(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();
}
}
最新文章
- meta标签用法总结
- 浅淡HTML5移动Web开发
- Enter直接登录
- NHibernate从入门到精通系列
- Java中的文件操作
- 代理模式及其在spring与struts2中的体现
- Ruby On Rails 4 hello world,Ruby On Rails上手
- 武汉科技大学ACM :1009: 零起点学算法63——弓型矩阵
- 在EBS中如何创建CUX_TOP
- Android - Mac系统Android程序位置
- js中盒子模型常用的属性你还记得几个?
- c++趣味之难以发现的bug
- NVisionXR for ARCore内测版开放申请
- XMLTABLE
- 【SAP HANA】新建账户和数据库(2)
- html_之css
- kubernets 单节点安装
- 洛谷P1209修理牛棚题解
- C++ 函数的重载和参数默认值
- js基本类型和字符串的具体应用
热门文章
- C++ 数组元素循环右移问题
- vim中搜索指定单词(不加前后缀)
- Dockers启动Kafka
- JDBCUtils工具类的属性
- 通过jquery实现form表单提交后不跳转页面,保留当前页面
- Nginx中指令
- Oracle命名规则
- 阿里面试题: (a,b,c)组合索引, 查询语句select...from...where a=.. and c=..走索引吗?
- CF808A Lucky Year 题解
- MyBatis学习(三)MyBatis基于动态代理方式的增删改查