java中factory_JAVA设计模式之工厂系列(factory)

/*** 食品抽象类*/

public abstract classFood {

}/*** 交通工具抽象类*/

public abstract classTransportation {

}/*** 电子设备抽象类*/

public abstract classElectronic {

}/*** bread类*/

public class Bread extendsFood {publicBread(){

System.out.println("T am bread");

}

}/*** plane类*/

public class Plane extendsTransportation{publicPlane(){

System.out.println("I am plane");

}

}/*** phone类*/

public class Phone extendsElectronic{publicPhone(){

System.out.println("I am phone");

}

}/*** 具体的工厂 可以生产一组类*/

public class HaierFactory extendsAbstractFactory{

Food createFood() {return newBread();

}

Electronic createElectronic() {return newPhone();

}

Transportation createTransportation() {return newPlane();

}

}/*** cake类*/

public class Cake extendsFood {publicCake(){

System.out.println("T am cake");

}

}/*** Tank类*/

public class Tank extendsTransportation{publicTank(){

System.out.println("I am tank");

}

}/*** Computer类*/

public class Computer extendsElectronic{publicComputer(){

System.out.println("T am pc");

}

}/*** 具体的工厂,可以生产一组类*/

public class SuningFactory extendsAbstractFactory{

Food createFood() {return newCake();

}

Electronic createElectronic() {return newComputer();

}

Transportation createTransportation() {return newTank();

}

}/*** 测试类,抽象工厂可以生产一组类,并且可以很灵活的扩展一组类的创建过程,但是不能做到灵活扩展一种类*/

public classT {public static voidmain(String[] args) {//海尔工厂可以生产面包 飞机 手机

AbstractFactory haierFactory = newHaierFactory();

Food bread=haierFactory.createFood();

Transportation plane=haierFactory.createTransportation();

Electronic phone=haierFactory.createElectronic();//苏宁工厂可以生产 蛋糕 坦克 pc电脑

AbstractFactory suningFactory = newSuningFactory();

Food cate=haierFactory.createFood();

Transportation tank=haierFactory.createTransportation();

Electronic computer=haierFactory.createElectronic();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值