首页 新闻 会员 周边 捐助

add() 是谁的娃

0
[已解决问题] 解决于 2010-06-05 02:54

 interface a
    {
        void add();
    }
    interface b
    {
        void add();
    }

    class s : a, b
    {
        public void add()
        {

        }
    }
问题:请看标题,

请发表下自己的见解。

问题补充: s.add() 实现的是哪个接口的 方法
waninlezu的主页 waninlezu | 小虾三级 | 园豆:661
提问于:2010-06-03 19:29
< >
分享
最佳答案
0

应该既是a的也是b的。因为接口不是类,它和类之间的关系不是继承而是实现,所以楼主这个标题本身就说明对这个概念理解上有误, a,b 和 s 之间不是父子关系。所以这里无论把s看成是a的接口还是b的接口实现都可以。就如楼上说的那样。如果你想区分不同的实现,可按下面方法来做

        class s : a, b
        {
            #region a Members

            public void add()
            {
                
            }

            #endregion



            #region b Members

            void b.add()
            {
                
            }

            #endregion
        }

eaglet | 专家六级 |园豆:17139 | 2010-06-04 07:32
其他回答(2)
0

a a1 = new s();

a.add();

这个是a的

b b1 = new s();

b.add();

这个是b的

s = new s();

s.add();

这个管你是谁的,反正是s的

Gray Zhang | 园豆:17610 (专家六级) | 2010-06-03 19:56
0

都是S的。

Astar | 园豆:40805 (高人七级) | 2010-06-04 07:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册