设计模式之抽象工厂模式
来源:互联网 发布:tomcat连不上mysql 编辑:程序博客网 时间:2024/06/07 02:00
多个接口,构成了产品族的时候使用抽象工厂模式!
//发动机接口public interface Engine { void run(); void start();}
//发动机实现类://高级发动机 class LuxuryEngine implements Engine{ @Override public void run() { System.out.println("转的快!"); } @Override public void start() { System.out.println("启动快!可以自动启停!"); }}//低级发动机class LowEngine implements Engine{ @Override public void run() { System.out.println("转的慢!"); } @Override public void start() { System.out.println("启动慢!"); }}
//座位接口public interface Seat { void massage();}
//座位实现类://高级座位class LuxurySeat implements Seat { @Override public void massage() { System.out.println("可以自动按摩!"); }}//低级座位class LowSeat implements Seat { @Override public void massage() { System.out.println("不能按摩!"); }}
//轮胎接口public interface Tyre { void revolve();}
//轮胎实现类://高级轮胎class LuxuryTyre implements Tyre { @Override public void revolve() { System.out.println("旋转不磨损!"); }}//低级轮胎class LowTyre implements Tyre { @Override public void revolve() { System.out.println("旋转磨损快!"); }}
//汽车工厂接口:public interface CarFactory { Engine createEngine(); Seat createSeat(); Tyre createTyre();}
//汽车工厂实现类://高级汽车工厂public class LuxuryCarFactory implements CarFactory { @Override public Engine createEngine() { return new LuxuryEngine(); } @Override public Seat createSeat() { return new LuxurySeat(); } @Override public Tyre createTyre() { return new LuxuryTyre(); }}//低级汽车工厂public class LowCarFactory implements CarFactory { @Override public Engine createEngine() { return new LowEngine(); } @Override public Seat createSeat() { return new LowSeat(); } @Override public Tyre createTyre() { return new LowTyre(); }}
//测试代码:public class Client { public static void main(String[] args) { CarFactory factory = new LuxuryCarFactory(); Engine e = factory.createEngine(); e.run(); e.start(); }}
0 0
- 设计模式之抽象工厂
- 设计模式 之 抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之-抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式 之 抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- c语言运算符的优先级及其结合性
- vim 设置
- synchronized同步方法
- HDU 2571 命运
- Opencv图像识别从零到精通(23)----轮廓
- 设计模式之抽象工厂模式
- Android属性动画分析
- Android SystemServer启动流程源码解析
- Java 包(package)
- 字符串:单词查找树
- JDBC入门
- 为 RecyclerView 添加上拉刷新及下拉加载(解决上拉之后必须先下拉一下才能继续下拉的问题)
- Linux服务-DHCP
- Spark Streaming kafka实现数据零丢失的几种方式