1. 程式人生 > >面向物件 介面之簡單工廠模式Factory

面向物件 介面之簡單工廠模式Factory


/**
 * 實現簡單工廠模式  把介面子類引用賦值給父類物件也是多型一種形式
 * 
 * 
 * */
class apple implements Ieact {
public void eat() {
System.out.println("我要吃蘋果");
}
}
class tangerine implements Ieact {
public void eat() {
System.out.println("我要吃橘子");
}
}
//定義一個介面
interface Ieact {
public abstract void eat();
}
//借用一個第三方法工具類用來操作 來判斷是返回那個類
class Factory {
public static Ieact getFactory(String className) {
if (className.equals("apple")) {
return new apple();
} else if (className.equals("tangerine")) {
return new tangerine();
}
return null;
}


}
//測試工廠模式
public class MyDemo {
public static void main(String[] args) {
fun("apple");
fun("tangerine");
}
//寫個方法 把重複程式碼總結在一起
public static void fun(String str) {
Ieact c = Factory.getFactory(str); //介面多型
c.eat();
}
}