抽象工厂模式

    ****以工厂1和工厂2生产电脑和手机为例**
    工厂1和工厂2就是产品族,手机和电脑是产品等级结构**
/抽象的工厂,生产不同的产品等级,具体实现由子工厂实现
public interface IFactory {
   Iphone makePhone();
   IComputer makeComputer();
}

产品等级接口

//产品等级接口
public interface Iphone {
    void phone();
}
public interface IComputer {
    void computer();
}

2个产品族,生产各自的产品

public class FactoryOne implements IFactory{
    @Override
    public Iphone makePhone() {
        return new FactoryOnePhone();
    }

    @Override
    public IComputer makeComputer() {
        return new FactoryOneComputer();
    }
}

public class FactoryTwo implements IFactory {
    @Override
    public Iphone makePhone() {
        return new FactoryTwoPhone();
    }

    @Override
    public IComputer makeComputer() {
        return new FactoryTwoComputer();
    }
}

具体的产品对象

public class FactoryOnePhone implements Iphone {
    @Override
    public void phone() {
        System.out.println("工厂1的电话");
    }
}

public class FactoryOneComputer implements IComputer {
    @Override
    public void computer() {
        System.out.println("工厂1的电脑");
    }
}

public class FactoryTwoPhone implements Iphone {
    @Override
    public void phone() {
        System.out.println("工厂2的电话");
    }
}

public class FactoryTwoComputer implements IComputer {
    @Override
    public void computer() {
        System.out.println("工厂2的电脑");
    }
}
public class Client {
    public static void main(String[] args) {
        FactoryOne factoryOne = new FactoryOne();
        FactoryTwo factoryTwo = new FactoryTwo();
        factoryOne.makeComputer().computer();
        factoryOne.makePhone().phone();
        factoryTwo.makeComputer().computer();
        factoryTwo.makePhone().phone();
    }
}
工厂1的电脑
工厂1的电话
工厂2的电脑
工厂2的电话

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值