接口的多继承会带来哪些问题


Posted in 面试题 onAugust 17, 2015
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

Tags in this post...

面试题 相关文章推荐
Yahoo-PHP面试题4
May 05 面试题
JSF面试题:Jsf中导航的标签是什么
Apr 20 面试题
为什么会有内存对齐
Oct 10 面试题
TCP/IP中的TCP和IP分别承担什么责任
Apr 21 面试题
武汉瑞得软件笔试题
Oct 27 面试题
Linux常见面试题
Oct 04 面试题
介绍一下Linux中的链接
Jun 05 面试题
软件生产职位结构化面试主要考察要素及面试题库
Jun 12 面试题
什么时候需要进行强制类型转换
Sep 03 面试题
如何清空Session
Feb 23 面试题
初级Java程序员面试题
Mar 03 面试题
J2ee常用的设计模式?说明工厂模式
May 21 面试题
抽象类和接口的区别
Sep 19 #面试题
北京某科技有限公司C# .net笔试题
Sep 27 #面试题
用C#语言写出与SQLSERVER访问时的具体过程
Apr 16 #面试题
用C#语言写出在本地创建一个UDP接收端口的具体过程
Feb 22 #面试题
别名指示符是什么
Oct 08 #面试题
C#实现对任一张表的数据进行增,删,改,查要求,运用Webservice,体现出三层架构
Jul 11 #面试题
如何手工释放资源
Dec 15 #面试题
You might like
php数字转汉字代码(算法)
2011/10/08 PHP
php动态实现表格跨行跨列实现代码
2012/11/06 PHP
PHP生成唯一ID之SnowFlake算法
2016/12/17 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
用 javascript 实现的点击复制代码
2007/03/24 Javascript
jQuery-serialize()输出序列化form表单值的方法
2012/12/26 Javascript
asp.net刷新本页面的六种方法总结
2014/01/07 Javascript
js 针对html DOM元素操作等经验累积
2014/03/11 Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
2014/04/04 Javascript
jquery操作HTML5 的data-*的用法实例分享
2014/08/17 Javascript
avalonjs实现仿微博的图片拖动特效
2015/05/06 Javascript
js实现tab切换效果实例
2015/09/16 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
bootstrap下拉列表与输入框组结合的样式调整
2016/10/08 Javascript
jQuery实现页面顶部下拉广告
2016/12/30 Javascript
bootstrap中的 form表单属性role="form"的作用详解
2017/01/20 Javascript
Bootstrap Table使用整理(五)之分页组合查询
2017/06/09 Javascript
JavaScript闭包的简单应用
2017/09/01 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
微信小程序中button组件的边框设置的实例详解
2017/09/27 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
2017/10/26 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
[01:24]DOTA2上海特锦赛OG战队抵达 专车接机入驻总统套房
2016/02/23 DOTA
Django中URLconf和include()的协同工作方法
2015/07/20 Python
python3检查字典传入函数键是否齐全的实例
2020/06/05 Python
python 发送get请求接口详解
2020/11/17 Python
Matlab使用Plot函数实现数据动态显示方法总结
2021/02/25 Python
美国市场上最实惠的送餐服务:Dinnerly
2018/03/18 全球购物
华为python面试题
2016/05/03 面试题
大学生求职工作的自我评价
2014/02/13 职场文书
竞选村长演讲稿
2014/04/28 职场文书
阅兵口号
2014/06/19 职场文书
心得体会的写法
2014/09/05 职场文书
美容院员工规章制度
2015/08/05 职场文书
k-means & DBSCAN 总结
2021/04/27 Python
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS