工厂模式是一种常见的设计模式。请实现一个玩具工厂 ToyFactory 用来产生不同的玩具类。可以假设只有猫和狗两种玩具。
样例
ToyFactory tf = ToyFactory();
Toy toy = tf.getToy('Dog');
toy.talk();
>> Wow
toy = tf.getToy('Cat');
toy.talk();
>> Meow
/**
* Your object will be instantiated and called as such:
* ToyFactory tf = new ToyFactory();
* Toy toy = tf.getToy(type);
* toy.talk();
*/
interface Toy {
void talk();
}
class Dog implements Toy {
// Write your code here
public void talk(){
System.out.println("Wow");
}
}
class Cat implements Toy {
// Write your code here
public void talk(){
System.out.println("Meow");
}
}
public class ToyFactory {
/**
* @param type a string
* @return Get object of the type
*/
public Toy getToy(String type) {
// Write your code here
if(type.equals("Dog")){
return new Dog();
}
if(type.equals("Cat")){
return new Cat();
}
return null;
}
}
本文介绍了一个简单的工厂模式应用实例——玩具工厂。通过该工厂可以创建并返回不同类型的玩具对象,如狗和猫玩具,每种玩具都有自己的发声方法。
793

被折叠的 条评论
为什么被折叠?



