none
关于接口和实例2 RRS feed

  • 问题

  • 若 Map 类实现了  Ia 接口

    令 

    Map C=new Map();

    Ia  A=C as Ia;

    Ib  B=A.d    //d似乎是Ia中声明的成员? 成员d实现了Ib,所以B能指向它?

    为什么不能

    Ib B=C.d  //既然Map都实现了Ia,为什么不能直接使用  C.d 来获取实例C的成员呢?

    总的意思就是

    既然  类  已经实现了它继承的  N个接口的所有成员,按道理,使用“实例名.”就能看到 N个接口 的所有的成员

    为什么有些时候:

    使用 "实例名."不能看到  N个接口的 所有的成员,而只能看到一部分,或者有好些接口的方法就直接看不见了

    • 已编辑 yaoly 2014年1月13日 5:43
    2014年1月13日 5:35

答案

  • 若 Map 类实现了  Ia 接口

    令 

    Map C=new Map();

    Ia  A=C as Ia;

    Ib  B=A.d    //d似乎是Ia中声明的成员? 成员d实现了Ib,所以B能指向它?

    为什么不能

    Ib B=C.d  //既然Map都实现了Ia,为什么不能直接使用  C.d 来获取实例C的成员呢?

    总的意思就是

    既然  类  已经实现了它继承的  N个接口的所有成员,按道理,使用“实例名.”就能看到 N个接口 的所有的成员

    为什么有些时候:

    使用 "实例名."不能看到  N个接口的 所有的成员,而只能看到一部分,或者有好些接口的方法就直接看不见了


    http://www.sharejs.com/codes/csharp/6017
    • 已标记为答案 yaoly 2014年1月13日 7:46
    2014年1月13日 6:02