java_abstract factory
来源:互联网 发布:网络名称侵权司法解释 编辑:程序博客网 时间:2024/05/21 17:02
instroduction:
多个抽象角色使用的一种工厂模式,抽象工厂模式可以向用户提供一种接口,使用户在不指定产品的具体情况下,创建多个产品族中的产品对象。
demo:
description:
目前有pc mac 两大系列产品
产品结构有:ram cpu两种
1.首先定义ram 和cpu两种产品结构:
Cpu.java
public interface Cpu {}
public class PcCpu implements Cpu{ public PcCpu(){ System.out.println("Pc Cpu"); }}
MacCpu.java
public class MacCpu implements Cpu{ public MacCpu(){ System.out.println("Mac Cpu"); }}
Ram.java
public interface Ram {}
PcRam.java
public class PcRam implements Ram{ public PcRam(){ System.out.println("Pc Ram"); }}
MacRam.java
public class MacRam implements Ram{ public MacRam(){ System.out.println("Mac Ram"); }}
2.定义抽象工厂:
ComputerProducer.java
public interface ComputerProducer { Cpu createCpu(); Ram createRam();}MacProducer.java
public class MacProducer implements ComputerProducer{ @Override public Cpu createCpu() { return new MacCpu(); } @Override public Ram createRam() { return new MacRam(); } }
PcProducer.java
public class PcProducer implements ComputerProducer{ @Override public Cpu createCpu() { return new PcCpu(); } @Override public Ram createRam() { return new PcRam(); }}
3.测试
Test.java
public class Test { public static void main(String[] args) { ComputerProducer mac = new MacProducer(); mac.createCpu(); mac.createRam(); ComputerProducer pc = new PcProducer(); pc.createCpu(); pc.createRam(); }}
输出结果:
Mac Cup
Mac Ram
Pc Cpu
Pc Ram
- java_abstract factory
- Java_abstract
- Java_abstract类
- java_Abstract抽象类
- Java_abstract class和interface的
- Factory
- factory
- factory
- Factory
- Factory
- factory
- Factory
- Factory
- factory
- Factory
- Factory
- Factory
- factory
- TCL语言相关
- c语言解析系列(3)循环和数组
- c语言解析系列(4)函数
- eclipse中的各种调试
- c语言解析系列(5)指针
- java_abstract factory
- Android 相对布局:RelativeLayout
- c语言解析系列(6)用户建立自己的数据类型
- Android 创建其他应用的上下文对象
- VS-Addin
- c语言解析系列(7)文件和动态内存分配和指向它的指针变量
- SQL 查找每年评分最低或最低的项目 并排序
- EasyUI的license问题
- 新生晚会 hdu2519 组合数