111,097
社区成员




public class Test : MonoBehaviour {
void Start () {
List<A> alist = new List<A>();
alist.Add (new B ());
alist.Add (new E ());
alist [0].Say (); //结果打印 A say
alist [1].Say (); //结果打印 E say
}
public interface C{
void Say();
}
public class A:C{
public virtual void Say(){
Debug.Log ("A say");
}
}
public class D:A{
public virtual void Say(){
Debug.Log ("D say");
}
}
// B->D->A
public class B:D{
public override void Say(){
Debug.Log ("B say");
}
}
//E->A
public class E:A{
public override void Say(){
Debug.Log ("E say");
}
}
}