抽象工厂模式
来源:互联网 发布:软件学院工程实践 编辑:程序博客网 时间:2024/06/13 19:34
//现在有两类车,跑车和商务车,那么跑车又有宝马跑车和奔驰跑车
商务车又有宝马商务车和奔驰商务车
现在又有一个生产车的大工厂,大工厂的下面又有跑车工厂和上午
******************** 车的接口 ***********************
package com.lovo.AbstrctFactory2;
public interface ICar {
public void car(); //车的方法
}
********************跑车的抽象类
package com.lovo.AbstrctFactory2;
public abstract class RunCar implements ICar{
@Override
public abstract void car();
}
********************商务车的抽象类
package com.lovo.AbstrctFactory2;
public abstract class WorkCar implements ICar {
@Override
public abstract void car();
}
********************宝马跑车的方法
package com.lovo.AbstrctFactory2;
public class BaoMaRun extends RunCar{
@Override
public void car() {
System.out.println("宝马跑车....");
}
}
******************** 宝马商务车的方法
package com.lovo.AbstrctFactory2;
public class BaoMaWork extends WorkCar {
@Override
public void car() {
System.out.println("宝马商务车....");
}
}
******************** 奔驰跑车的方法
package com.lovo.AbstrctFactory2;
public class BenChiRun extends RunCar {
@Override
public void car() {
System.out.println("奔驰跑车....");
}
}
******************** 奔驰商务车的方法
package com.lovo.AbstrctFactory2;
public class BenChiWork extends WorkCar{
@Override
public void car() {
System.out.println("奔驰商务车....");
}
}
******************** 工厂的接口 ***********************
package com.lovo.AbstrctFactory2;
public interface AbstractFactory {
public ICar getrun(); //获得跑车
public ICar getwork(); //获得商务车
}
******************** 宝马工厂
package com.lovo.AbstrctFactory2;
public class BaoMaFactory implements AbstractFactory{
@Override
public ICar getrun() {
return new BaoMaRun(); //获得宝马跑车对象
}
@Override
public ICar getwork() {
return new BaoMaWork(); //获得宝马商务车对象
}
}
******************** 奔驰工厂
package com.lovo.AbstrctFactory2;
public class BenChiFactory implements AbstractFactory {
@Override
public ICar getrun() {
return new BenChiRun(); //获得奔驰跑车对象
}
@Override
public ICar getwork() {
return new BenChiWork(); //获得奔驰商务车对象
}
}
******************** 测试 ***********************
package com.lovo.AbstrctFactory2;
public class TestDemo {
public static void main(String[] args) {
AbstractFactory abf = new BaoMaFactory(); //获得宝马工厂
ICar car = abf.getwork(); //获得宝马商务车的对象方法
car.car(); //调用car方法,打印内容
}
}
- 工厂模式 -- 抽象工厂
- 工厂模式-抽象工厂
- 工厂模式-抽象工厂
- 工厂模式/抽象工厂模式
- 工厂模式&&抽象工厂模式
- 工厂模式---抽象工厂模式
- 工厂模式&抽象工厂模式
- 工厂模式,抽象工厂模式
- 【模式】抽象工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂&工厂模式&抽象工厂模式
- 工厂方法,抽象工厂模式
- 2,工厂模式--抽象工厂
- C#工厂模式-抽象工厂
- 工厂模式与抽象工厂
- 抽象工厂设计模式
- 抽象工厂模式
- zookeeper应用场景
- [Objective-C]OC中字典基本概念和常用方法
- 第一天
- 欢迎使用CSDN-markdown编辑器
- C语言指针概要总结
- 抽象工厂模式
- Linux中 ps aux 命令
- 暑假选拔赛02 ---- 可行方案
- win7环境下安装centos系统总结
- java字符串常量池知识
- /var/log目录
- Source Insight 常用设置和快捷键大全
- 检查变量的类型
- Object-C 整理二