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


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

面试题 相关文章推荐
普通PHP程序员笔试题
Jan 01 面试题
运行时异常与一般异常有何异同?
Jan 05 面试题
String这个类型的class为何定义成final?
Nov 13 面试题
如何打开WebSphere远程debug
Oct 10 面试题
如何设置Java的运行环境
Apr 05 面试题
C语言中一个结构不能包含指向自己的指针吗
May 25 面试题
华美博弈C/VC工程师笔试试题
Jul 16 面试题
空指针到底是什么
Aug 07 面试题
如何理解委托
Jan 06 面试题
某公司.Net方向面试题
Apr 24 面试题
什么是网络协议
Apr 07 面试题
J2EE系统只能是基于web
Sep 08 面试题
抽象类和接口的区别
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导入导出excel实例
2013/10/25 PHP
获取网站跟路径的javascript代码(站点及虚拟目录)
2009/10/20 Javascript
JS的千分位算法实现思路
2013/07/31 Javascript
jquery判断元素是否隐藏的多种方法
2014/05/06 Javascript
JS简单操作select和dropdownlist实例
2014/11/26 Javascript
jQuery中:last-child选择器用法实例
2014/12/31 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
2015/06/05 Javascript
jQuery实现鼠标经过弹出提示信息的地图热点效果
2015/08/07 Javascript
JavaScript ParseFloat()方法
2015/12/18 Javascript
关于在Servelet中如何获取当前时间的操作方法
2016/06/28 Javascript
Node.js 日志处理模块log4js
2016/08/28 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
vue实现城市列表选择功能
2018/07/16 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
Vue.set 全局操作简单示例
2019/09/19 Javascript
[01:01:24]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第三局
2016/02/25 DOTA
浅谈Python数据类型之间的转换
2016/06/08 Python
使用python生成目录树
2018/03/29 Python
python变量命名的7条建议
2019/07/04 Python
利用python开发app实战的方法
2019/07/09 Python
Python 依赖库太多了该如何管理
2019/11/08 Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
2020/06/11 Python
Python实现FTP文件定时自动下载的步骤
2020/12/19 Python
英国婴儿和儿童服装网站:Vertbaudet
2018/04/02 全球购物
总会计师岗位职责
2014/02/19 职场文书
蛋糕店创业计划书
2014/05/06 职场文书
岗位说明书范文
2014/05/07 职场文书
安全生产工作汇报
2014/10/28 职场文书
中班下学期幼儿评语
2014/12/30 职场文书
品牌形象定位,全面分析
2019/07/23 职场文书
幽默导游词应该怎么写?
2019/08/26 职场文书
pytorch 权重weight 与 梯度grad 可视化操作
2021/06/05 Python
深入浅出讲解Java8函数式编程
2022/01/18 Java/Android
Pandas-DataFrame知识点汇总
2022/03/16 Python
git中cherry-pick命令的使用教程
2022/06/25 Servers