抽象工厂+多态实现
在上一篇中,实现了多态的例子,但是怎么实现按照要求创建相应的动物类呢?首先利用工厂模式(声明一个工厂类)
class Factory
{
private string petType;
public Factory() { }
public Factory(string myType)
{ this.petType = myType; }
public Animal CreateMyPet()
{
string assembly = "ClassLibrary1.";//注意这边要加一个点"."
string className = assembly + petType;
return (Animal)System.Reflection.Assembly.Load("ClassLibrary1").CreateInstance(className);
}
}
对于上面的例子我们要新建一个类库,然后将各个类放在相应的文件中。这样就行了。