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


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...

面试题 相关文章推荐
运行时异常与一般异常有何异同?
Jan 05 面试题
Java的接口和C++的虚类的相同和不同处
Mar 27 面试题
c/c++某大公司的两道笔试题
Feb 02 面试题
什么是Rollback Segment
Apr 22 面试题
Ado与Ado.net的相同与不同
Dec 08 面试题
请解释在new与override的区别
Oct 29 面试题
测试驱动开发的主要步骤是什么
Dec 10 面试题
为什么要用EJB
Apr 17 面试题
Python如何实现单例模式
Jun 03 面试题
北京振戎融通Java面试题
Sep 03 面试题
Java程序员面试题
Jul 15 面试题
Java面向对象面试题
Dec 26 面试题
抽象类和接口的区别
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
一个SQL管理员的web接口
2006/10/09 PHP
php UBB 解析实现代码
2011/11/27 PHP
解析PHP中$_FILES的使用以及注意事项
2013/07/05 PHP
PHP程序员基本要求和必备技能
2014/05/09 PHP
PHP时间函数使用详解
2019/03/21 PHP
javascript中的对象和数组的应用技巧
2007/01/07 Javascript
jquery offset函数应用实例
2012/11/14 Javascript
常用的JavaScript WEB操作方法分享
2015/02/28 Javascript
基于JQuery实现图片上传预览与删除操作
2016/05/24 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
2017/03/08 Javascript
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
Vue结合SignalR实现前后端实时消息同步
2017/09/19 Javascript
iview中Select 选择器多选校验方法
2018/03/15 Javascript
React如何避免重渲染
2018/04/10 Javascript
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
CentOS中使用virtualenv搭建python3环境
2015/06/08 Python
Python安装官方whl包和tar.gz包的方法(推荐)
2017/06/04 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
2018/05/31 Python
python爬虫实现中英翻译词典
2019/06/25 Python
基于Python函数和变量名解析
2019/07/19 Python
pytorch 输出中间层特征的实例
2019/08/17 Python
python lambda表达式在sort函数中的使用详解
2019/08/28 Python
Python对wav文件的重采样实例
2020/02/25 Python
如何用border-image实现文字气泡边框的示例代码
2020/01/21 HTML / CSS
借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
2016/03/14 HTML / CSS
关于Assembly命名空间的三个面试题
2015/07/23 面试题
公司董事长职责
2013/12/12 职场文书
小学运动会表扬稿
2014/01/19 职场文书
节约能源标语
2014/06/17 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
党员承诺书格式范文
2015/04/28 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书
Django如何与Ajax交互
2021/04/29 Python
python迷宫问题深度优先遍历实例
2021/06/20 Python