//抽象产品类
abstract class Animal{
abstract void display();//显示动物名称
}
//具体产品类
class Monkey extends Animal{
@Override
void display(){
System.out.println("猴子");
}
}
class Chimpanzee extends Animal{
@Override
void display(){
System.out.println("猩猩");
}
}
//动物工厂接口
interface AnimalFactory{
weapon createAnimal();
}
//创建猴子工厂
class MonkeyFactory implements AnimalFactory{
@Override
public Animal createAnimal(){
return new Monkey(); //返回猴子
}
}
//创建猩猩工厂
class ChimpanzeeFactory implements AnimalFactory{
@Override
public Weapon createAnimal(){
return new Chimpanzee(); //返回猩猩
}
}
//客户端
public class DemoP{
public static void main(String[] args){
AnimalFactory wf1=new MonkeyFactory();
Animal w1 = wf1.createAnimal();
w1.display();
AnimalFactory wf2=new ChimpanzeeFactory();
Animal w2 = wf2.createAnimal();
w2.display();
}
}
工厂方法模式
于 2022-02-07 15:50:11 首次发布