使用简单工厂来创建:动物定义为抽象类,动物有抽象的Eat方法,狗和猫继承于动物,狗和猫中对Eat方法进行重写。 定义AnimalFactory来根据类型type来决定创建猫还是狗。 在客户端用动物工厂来创建狗和猫,并调用Eat方法,要求java实现
时间: 2023-04-11 08:02:06 浏览: 139
好的,这是一个关于简单工厂模式的编程问题。以下是Java代码实现:
// 定义抽象类Animal
abstract class Animal {
public abstract void Eat();
}
// 狗类,继承自Animal
class Dog extends Animal {
@Override
public void Eat() {
System.out.println("狗在吃骨头");
}
}
// 猫类,继承自Animal
class Cat extends Animal {
@Override
public void Eat() {
System.out.println("猫在吃鱼");
}
}
// 定义AnimalFactory类,根据类型type来创建狗或猫
class AnimalFactory {
public static Animal createAnimal(String type) {
if (type.equals("dog")) {
return new Dog();
} else if (type.equals("cat")) {
return new Cat();
} else {
return null;
}
}
}
// 客户端代码,使用AnimalFactory来创建狗和猫,并调用Eat方法
public class Main {
public static void main(String[] args) {
Animal dog = AnimalFactory.createAnimal("dog");
dog.Eat();
Animal cat = AnimalFactory.createAnimal("cat");
cat.Eat();
}
}
输出结果为:
狗在吃骨头
猫在吃鱼
希望这个答案能够帮到你!
阅读全文