Java设计模式之抽象工厂(02)
2024-10-21 16:13:35
对工厂方法进行抽象。当增加新的产品时,不用改动工厂类。而是集成已有的工厂接口或者抽象工厂,创建新的工厂。这就是对扩展开发,对修改封闭。
1 package Pak;
2
3 public abstract class Automobile {
4 public abstract void Run();
5 }
package Pak; public class Bus extends Automobile { @Override
public void Run() {
System.out.println("Bus Run");
}
}
package Pak; public class Jeep extends Automobile { @Override
public void Run() {
System.out.println("Jeep Run.");
}
}
1 package Pak;
2
3 public interface IProduce {
4 public Automobile Produce();
5 }
package Pak; public class BusFactory implements IProduce {
@Override
public Automobile Produce() {
// TODO Auto-generated method stub
return new Bus();
}
}
package Pak; public class JeepFactory implements IProduce {
@Override
public Automobile Produce() {
return new Jeep();
}
}
1 package Pak;
2
3 public class Main {
4
5 public static void main(String[] args) throws Exception {
6 IProduce busFactory=new BusFactory();
7 busFactory.Produce().Run();
8
9 IProduce jeepFactory=new JeepFactory();
10 jeepFactory.Produce().Run();
11 }
12 }
最新文章
- Objective-C的面向对象中,类有真正的私有方法和私有属性么?
- super和this区别
- Object C学习笔记20-结构体
- Address localhost:1099 is already in use 的错误
- kali 重置 mysql 密码
- 一道模板元编程题源码解答(replace_type)
- JS中 submit提交与Form表单里的onsubmit的调用问题?
- jQuery Mobile 网格
- WPF界面设计技巧(7)—模拟电梯升降的缓动动画
- CSS active选择器与CSS hover选择器
- 浅谈IOC
- 深度优先搜索(DFS)专题讲座PPT截图【需要原稿的请留言或私信】
- Python 队列
- 数据库技术丛书:SQL Server 2016 从入门到实战(视频教学版) PDF
- Codeforces 1096D Easy Problem 【DP】
- CCNA学习与实验指南——第2章 网络互联和参考模型
- 比特股-去中心化交易所, STEEM - 去中心化社区, EOS - 下一代智能合约
- FastAdmin Bootstrap-table 特定某行背景变红
- December 06th 2016 Week 50th Tuesday
- 在Windos上安装Nginx
热门文章
- Mysql数据库基础第七章:流程控制结构
- 一步一步地完成题目——费解的开关(C/C++语言)递推、递归、顺序思维
- Android 添加shape, selector等资源文件
- datax clickhousewriter插件下载 elasticsearchwriter插件下载
- java 导入Excel数据校验判断哪行那列
- 【Excel】IF条件函数公式怎么用?
- node版本和用的包不兼容问题,头疼
- 九、Lambda、正则表达式
- RabbitMQ-01-使用Java进行简单消息发送与接收
- Oracle常用的日期操作函数 to_char()和to_date