Alt_Shift

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

大三上学期结束了,所有科目的成绩都出了,拉稀的一塌糊涂,但我总觉得为时不晚,所以现在开始重新学习设计模式、Oracle、编译原理。

简单工厂模式

说实话其实很简单,就是当你实例化这个对象的时候,实例化的过程拿出来放到了工厂里面进行,你可以直接拿到这个对象但是你却看不到这个对象的实例过程和实例逻辑。

将你想要的对象名字或者对象特征传入工厂,工厂给你创建你要的对象。

下面是代码:

首先是基类:

1 public abstract class Car {
2    protected abstract void sign();
3 }

其次是工厂能够创建出来的对象:

1 public class Bmw extends Car {
2     @Override
3     protected void sign() {
4         System.out.println("this is bmw !");
5     }
1 public class BenZ extends Car {
2     @Override
3     protected void sign() {
4         System.out.println("this is benz !");
5     }
6 }

然后是工厂类(在里面定义你创建对象时需要的要求和逻辑)

 1 public class FactoryDemo {
 2     public static Car getCar(String name){
 3         if(name == null || "".equals(name)){
 4             return null;
 5         }
 6         if("Benz".equals(name)){
 7             return new BenZ();
 8         }else if("Bmw".equals(name)){
 9             return new Bmw();
10         }
11         return null;
12     }

最后是test:

1 public class SingleFactoryDemo {
2     public static void main(String[] args) {
3         Car bmw = FactoryDemo.getCar("Bmw");
4         bmw.sign();
5     }
6 }
posted on 2020-01-20 13:23  Alt_Shift  阅读(120)  评论(0编辑  收藏  举报