java中,父类是抽象类不能通过工厂输出时,如何通过其他类实现输出的示例代码(工厂方法种类(1))

package Builder;
/**
 * 工厂父类
 * @author L-Seven
 *
 */
public abstract class Builder {
public abstract void BuilderA();
public abstract void BuilderB();
public abstract void BuilderC();
}
/**
 * 子类BuilderA
 * @author L-Seven
 *
 */
class BuilderA extends Builder{


@Override
public void BuilderA() {
System.out.println("BuilderA-a");
}


@Override
public void BuilderB() {
System.out.println("BuilderA-b");
}


@Override
public void BuilderC() {
System.out.println("BuilderA-c");
}

}
/**
 * 子类BuilderB
 * @author L-Seven
 *
 */
class BuilderB extends Builder{


@Override
public void BuilderA() {
System.out.println("BuilderB-a");
}


@Override
public void BuilderB() {
System.out.println("BuilderB-a");
}


@Override
public void BuilderC() {
System.out.println("BuilderB-a");
}

}
/**
 * 选择
 * @author L-Seven
 *
 */
class Director{
private Builder builder = null;
public void setBuilder(char builderName){
this.builder = BuilderFactory.chooseBuilder(builderName);
}
public void show(){
this.builder.BuilderA();
this.builder.BuilderB();
this.builder.BuilderC();
}
}
/**
 * Builder工厂
 * @author L-Seven
 *
 */
class BuilderFactory{
public static Builder chooseBuilder(char builderName){
switch (builderName) {
case 'a':
return new BuilderA();
case 'b':
return new BuilderB();
default:
return null;
}
}
}
/**
 * 测试类
 * @author L-Seven
 *
 */
class Buildertest{
public static void main(String[] args) {
Director d = new Director();
d.setBuilder('a');
d.show();
}

}

//图为输出结果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值