抽象工厂

抽象工厂是简单工厂的工厂方法的结合。

具体来说, 和工厂方法比较

工厂方法:一个工厂对应一个产品实例化。
抽象方法:一个工厂对应一系列产品实例化。

public class SingleFantasy {
    public static void main(String[] args) {
        ColaChickenFactory colaChickenFactory = new ColaChickenFactory();
        CurryChickenFactory curryChickenFactory = new CurryChickenFactory();

        Chicken chicken = colaChickenFactory.getChicken();
        Duck duck = colaChickenFactory.getDuck();
        Chicken chicken1 = curryChickenFactory.getChicken();
        Duck duck1 = curryChickenFactory.getDuck();

        System.out.println(chicken.getClass().getName());
        System.out.println(chicken1.getClass().getName());

    }
}

abstract class Chicken {
    protected String name;
}
abstract class Duck {
    protected String name;
}

class ColaChicken extends Chicken {

}
class ColaDuck extends Duck {

}

class CurryChicken extends Chicken {

}
class CurryDuck extends Duck {

}

abstract class Factory {
    public  abstract Chicken getChicken();
    public  abstract Duck getDuck();
    
}

class ColaChickenFactory extends Factory{

    @Override
    public Chicken getChicken() {
        return new ColaChicken();
    }

    @Override
    public Duck getDuck() {
        return new ColaDuck();
    }
}

class CurryChickenFactory extends Factory{

    @Override
    public  Chicken getChicken() {
        return new CurryChicken();
    }

    @Override
    public Duck getDuck() {
        return new CurryDuck();
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值