圖解如下:(代碼在最後)
我們先看看具體結構:
代碼來了~
- 首先接口類
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----我會喫