设为首页 加入收藏

TOP

接口的多继承会带来哪些问题?
2014-11-23 23:35:24 来源: 作者: 【 】 浏览:2
Tags:接口 继承 带来 哪些 问题

C# 中的接口与类不同,可以使用多继承,即一个子接口可以有多个父接口。但如果两个父成员具有同名的成员,就产生了二义性(这也正是 C# 中类取消了多继承的原因之一),这时在实现时最好使用显式的声明


示例:


using System;


using System.Collections.Generic;


using System.Text;


namespace Example17


{


class Program


{


//一个完整的接口声明示例


interface IExample


{


//属性


string P


{


get;


set;


}


//方法


string F(int Value);


//事件


event EventHandler E;


//索引指示器


string this[int Index]


{


get;


set;


}


}


interface IA


{


int Count { get; set;}


}


interface IB


{


int Count();


}


//IC接口从IA和IB多重继承


interface IC : IA, IB


{


}


class C : IC


{


private int count = 100;


//显式声明实现IA接口中的Count属性


int IA.Count


{


get { return 100; }


set { count = value; }


}


//显式声明实现IB接口中的Count方法


int IB.Count()


{


return count * count;


}


}


static void Main(string[] args)


{


C tmpObj = new C();


//调用时也要显式转换


Console.WriteLine(“Count property: {0}”, ((IA)tmpObj).Count);


Console.WriteLine(“Count function: {0}”, ((IB)tmpObj).Count());


Console.ReadLine();


}


}


}


结果:
Count property: 100
Count function: 10000


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇介绍一下文档测试 下一篇爱立信面试记

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: