zoukankan      html  css  js  c++  java
  • 痛定思痛后开始的设计模式(0)简单工厂模式

    大三上学期结束了,所有科目的成绩都出了,拉稀的一塌糊涂,但我总觉得为时不晚,所以现在开始重新学习设计模式、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 }
  • 相关阅读:
    eclipse最有用快捷键整理(转)
    Spring IOC的配置使用(转)
    char varchar varchar2 的区别 (转)
    BigDecimal用法详解(转)
    20160126--springaop
    20160125--Spring
    20150122--接口
    Servlet与JSP的区别
    练习
    151127
  • 原文地址:https://www.cnblogs.com/frank9571/p/12217568.html
Copyright © 2011-2022 走看看