工廠模式 (流程圖) + 代碼

圖解如下:(代碼在最後)

工廠模式

我們先看看具體結構:

在這裏插入圖片描述

代碼來了~

  • 首先接口類
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----我會喫

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