java工厂设计模式的自我理解

废话不多说,直接上代码。

public class Main {
    public static void main(String[] args) {
        System.out.println("简单工厂模式");
        Phone.createPhone(1);
    }
}

class Phone{

    static Phone createPhone(int typeNo){
        if (typeNo == 1){
            return new MIPhone();
        }else if (typeNo == 2){
            return new ApplePhone();
        }else if (typeNo == 3){
            return new HONORPhone();
        }
        return null;
    }
}

class MIPhone extends Phone{

}

class ApplePhone extends Phone{

}

class HONORPhone extends Phone{

}
public class Main2 {
    public static void main(String[] args) {
        System.out.println("工厂模式");
        RiceFactory riceFactory = new ChineseRiceFactory();
        riceFactory.makeRice();

        RiceFactory riceFactory1 = new AmericaRiceFactory();
        riceFactory1.makeRice();

    }
}

class Rice{

}

class ChineseRice extends Rice{

}

class AmericaRice extends Rice{

}

interface RiceFactory{
    Rice makeRice();
}

class ChineseRiceFactory implements RiceFactory{

    @Override
    public Rice makeRice() {
        System.out.println("1");
        return new ChineseRice();
    }
}

class AmericaRiceFactory implements RiceFactory{

    @Override
    public Rice makeRice() {
        System.out.println(2);
        return new AmericaRice();
    }
}
public class Main3 {
    public static void main(String[] args) {
        System.out.println("抽象工厂模式");
    }
}

class SmallCar{
}

class CarA extends SmallCar {
}

class CarB extends SmallCar {
}

class Book{
}

class BookA extends Book {
}

class BookB extends Book {
}

abstract class Factory{
    abstract SmallCar createSmallCar();
    abstract Book createBook();
}

class CarAFactory extends Factory{

    @Override
    SmallCar createSmallCar() {
        return new CarA();
    }

    @Override
    Book createBook() {
        return new BookA();
    }
}

class CarBFactory extends Factory{

    @Override
    SmallCar createSmallCar() {
        return new CarB();
    }

    @Override
    Book createBook() {
        return new BookB();
    }
}

过于简单不总结。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值