我發現了一個很好的例子,我正在尋找。 https://www.youtube.com/watch?v=TBAKKulJTJ4
下面的代碼: 「編程的洞」
源的讚美。
public interface Animal {
public void speak();
}
public class Dog implements Animal {
@Override
public void speak() {
System.out.println("Woof!");
}
}
public class Cat implements Animal {
@Override
public void speak() {
System.out.println("Meow!");
}
}
public abstract class AnimalFactory {
public static final int CAT = 0;
public static final int DOG = 1;
public static Animal createAnimal(int type){
switch(type){
case CAT:
return new Cat();
case DOG:
return new Dog();
}
return null;
}
}
public class App {
public static void main(String[] args) {
Animal animal = AnimalFactory.createAnimal(AnimalFactory.CAT);
animal.speak();
}
}
你最好從一個問題開始,並說如何解決這個問題。如果你從一些代碼開始說,我可以找到這個用途,它通常沒有任何意義。 – 2014-10-07 19:21:20
閱讀工廠設計模式。 – plalx 2014-10-07 19:21:27
是你的麻煩,你不明白髮生了什麼?還是你不知道爲什麼有人會這麼做? – 2014-10-07 19:23:41