public class Animal { /**/ }
interface I_CommonSkill {
void Say();
}
public class Cat : Animal, I_CommonSkill
{
public int age = 2;
public void Say () { /*say age*/ };
}
public class Dog : Animal, I_commonSkill
{
public string name = "ergou";
public void Say () { /*say name*/ };
}
新手求问,如上结构希望有一个管理类来统一管理实例,比如将实例保存到 Hashtable
中循环调用子类的 Say
方法之类的,但是 Hashtable
中的元素类型都是 object
接下来就是各种报错,不是找不到属性就是找不到方法,现在只能结合泛型强制转换类型来调用方法和获取属性。
有什么方法让管理类在存储这些实例的时候知道对象是不同子类的实例?或者说该如何统一管理这些数据结构不同的对象呢?之前一直在用动态语言思维可能不太适用静态语言还望大佬们指点一二谢谢了……
不是定义了接口吗,为什么不用?