工厂模式 (流程图) + 代码

图解如下:(代码在最后)

工厂模式

我们先看看具体结构:

在这里插入图片描述

代码来了~

  • 首先接口类
package com.Design1.Factory.Impl;

public interface Animal {
    public void eat();

    public void sleep();
}

  • 具体类实现接口方法
    • Cat类
package com.Design1.Factory.Animal;

import com.Design1.Factory.Impl.Animal;

public class Cat implements Animal {
    @Override
    public void eat() {
        System.out.println("我是Cat----我会吃");
    }

    @Override
    public void sleep() {
        System.out.println("我是Cat----我会吃");
    }
}
  • Dog类
package com.Design1.Factory.Animal;

import com.Design1.Factory.Impl.Animal;

public class Dog implements Animal {
    @Override
    public void eat() {
        System.out.println("我是Dog----我会吃");
    }

    @Override
    public void sleep() {
        System.out.println("我是Dog----我会睡觉");
    }
}

  • 工厂类
package com.Design1.Factory;

import com.Design1.Factory.Animal.Cat;
import com.Design1.Factory.Animal.Dog;
import com.Design1.Factory.Impl.Animal;

public class Factory  {
       public Animal get(String a){
        if(a.equals("cat")){
            return new Cat();
        }
        else if(a.equals("dog")){
            return new Dog();
        }
        return null;
    }
}

  • DEMO
package com.Design1.Factory;

import com.Design1.Factory.Impl.Animal;

public class FactoryDemo {

    public static void main(String[] args) {
        Factory factory = new Factory();
        Animal animal= factory.get("cat");
        animal.eat();
    }
}

输出结果:

我是Cat----我会吃

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章