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


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

面试题 相关文章推荐
Java的接口和C++的虚类的相同和不同处
Mar 27 面试题
使用useBean标志初始化BEAN时如何接受初始化参数
Feb 11 面试题
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
Apr 28 面试题
C++面试题:关于链表和指针
Jun 05 面试题
介绍一下SQL中union,intersect和minus
Apr 05 面试题
C#怎么让一个窗口居中显示?
Oct 20 面试题
linux面试相关问题
Apr 28 面试题
东方红海科技面试题软件测试方面
Feb 08 面试题
Prototype是怎么扩展DOM的
Oct 01 面试题
Weblogic和WebSphere不同特点
May 09 面试题
Tomcat的缺省是多少,怎么修改
Apr 09 面试题
解释下面关于J2EE的名词
Nov 15 面试题
抽象类和接口的区别
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
屏蔽浏览器缓存另类方法
2006/10/09 PHP
PHP通用分页类page.php[仿google分页]
2008/08/31 PHP
php查询mysql数据库并将结果保存到数组的方法
2015/03/18 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
Zend Framework框架中实现Ajax的方法示例
2017/06/27 PHP
php写入文件不覆盖的实例讲解
2019/09/17 PHP
laravel 解决强制跳转 https的问题
2019/10/22 PHP
用javascript实现的支持lrc歌词的播放器
2007/05/17 Javascript
浅谈javascript回调函数
2014/12/07 Javascript
使用PHP+JavaScript将HTML页面转换为图片的实例分享
2016/04/18 Javascript
使用JS实现图片展示瀑布流效果(简单实例)
2016/09/06 Javascript
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
Bootstrap响应式表格详解
2017/05/23 Javascript
关于Ajax的原理以及代码封装详解
2017/09/08 Javascript
vue实现的组件兄弟间通信功能示例
2018/12/04 Javascript
JS实现马赛克图片效果完整示例
2019/04/13 Javascript
深入理解 ES6中的 Reflect用法
2020/07/18 Javascript
[43:58]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第二局
2016/02/27 DOTA
Windows和Linux下Python输出彩色文字的方法教程
2017/05/02 Python
使用python获取电脑的磁盘信息方法
2018/11/01 Python
postman和python mock测试过程图解
2020/02/22 Python
Python中猜拳游戏与猜筛子游戏的实现方法
2020/09/04 Python
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
KIKO MILANO西班牙官网:意大利领先的化妆品和护肤品品牌
2019/05/03 全球购物
Farfetch澳大利亚官网:Farfetch Australia
2020/04/26 全球购物
static关键字的用法
2013/10/07 面试题
武汉高蓝德国际.net机试
2016/06/24 面试题
师范大学毕业自我鉴定
2013/11/21 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
2014企业年终工作总结
2014/12/23 职场文书
武当山导游词
2015/02/03 职场文书
幼儿园亲子活动感想
2015/08/07 职场文书
2016校本研修培训心得体会
2016/01/08 职场文书
2016年“12.4”法制宣传日活动总结
2016/04/01 职场文书
图解排序算法之希尔排序Java实现
2021/06/26 Java/Android
Redis实战高并发之扣减库存项目
2022/04/14 Redis