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


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

面试题 相关文章推荐
C/C++程序员常见面试题二
Nov 19 面试题
写一个用矩形法求定积分的通用函数
Nov 08 面试题
描述内存分配方式以及它们的区别
Oct 15 面试题
介绍一下SQL Server里面的索引视图
Jul 31 面试题
什么是托管函数?托管函数有什么用?
Jun 15 面试题
诺思信科技(南京)有限公司.NET笔试题答案
Jul 06 面试题
介绍一下Linux中的链接
Jun 05 面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jul 11 面试题
介绍一下RMI的基本概念
Dec 17 面试题
用Python写一个for循环的例子
Jul 19 面试题
线程问题:wait()方法是定义在哪个类里面
Jul 07 面试题
我们没有写servlet的构造方法,那么容器是怎么创建servlet的实例呢
Apr 24 面试题
抽象类和接口的区别
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 zend解密软件绿色版测试可用
2008/04/14 PHP
php指定函数参数默认值示例代码
2013/12/04 PHP
Apply an AutoFormat to an Excel Spreadsheet
2007/06/12 Javascript
jsTree树控件(基于jQuery, 超强悍)[推荐]
2009/09/01 Javascript
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
2011/03/28 Javascript
js弹出层包含flash 不能关闭隐藏的2种处理方法
2013/06/17 Javascript
jquery获取选中的文本和值的方法
2014/07/08 Javascript
avalonjs实现仿微博的图片拖动特效
2015/05/06 Javascript
Jsonp post 跨域方案
2015/07/06 Javascript
解析Node.js异常处理中domain模块的使用方法
2016/02/16 Javascript
jquery+json实现分页效果
2016/03/07 Javascript
jQ处理xml文件和xml字符串的方法(详解)
2016/11/22 Javascript
jQuery动态生成表格及右键菜单功能示例
2017/01/13 Javascript
easyUI combobox实现联动效果
2017/01/17 Javascript
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
2018/07/12 Javascript
JavaScript闭包原理与用法学习笔记
2020/05/29 Javascript
JavaScript 实现下雪特效的示例代码
2020/09/09 Javascript
使用python获取CPU和内存信息的思路与实现(linux系统)
2014/01/03 Python
Python和JavaScript间代码转换的4个工具
2016/02/22 Python
利用Python查看目录中的文件示例详解
2017/08/28 Python
Python中int()函数的用法浅析
2017/10/17 Python
python奇偶行分开存储实现代码
2018/03/19 Python
对pandas的行列名更改与数据选择详解
2018/11/12 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
2019/11/29 Python
如何利用python读取micaps文件详解
2020/10/18 Python
python 实现的IP 存活扫描脚本
2020/12/10 Python
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
韩国CJ食品专卖网:CJonmart
2016/09/11 全球购物
金牌葡萄酒俱乐部:Gold Medal Wine Club
2017/11/02 全球购物
联谊活动策划书
2014/01/26 职场文书
群众路线四风自我剖析材料
2014/10/08 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书
结婚堵门保证书
2015/05/08 职场文书
聘任书格式及范文
2015/09/21 职场文书
新党员入党决心书
2015/09/22 职场文书