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


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

面试题 相关文章推荐
如何启动时不需输入用户名与密码
May 09 面试题
String是最基本的数据类型吗?
Jun 13 面试题
关于Java String的一道面试题
Sep 29 面试题
C面试题
Oct 08 面试题
什么是托管函数?托管函数有什么用?
Jun 15 面试题
STP的判定过程
Oct 01 面试题
接口的多继承会带来哪些问题
Aug 17 面试题
C#基础面试题
Oct 17 面试题
网上常见的一份Linux面试题(多项选择部分)
Sep 09 面试题
类的返射机制中的包及核心类
Sep 12 面试题
建龙钢铁面试总结
Apr 15 面试题
四种会话跟踪技术
May 20 面试题
抽象类和接口的区别
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
xml在joomla表单中的应用详解分享
2012/07/19 PHP
PHP中file_exists与is_file,is_dir的区别介绍
2012/09/12 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
2014/02/18 PHP
javascript 事件查询综合 推荐收藏
2010/03/10 Javascript
JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
2014/08/16 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
2014/09/01 Javascript
JavaScript 基本概念
2015/01/20 Javascript
js焦点文字滚动效果代码分享
2015/08/25 Javascript
nodejs初步体验篇
2015/11/23 NodeJs
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
BootStrap实现鼠标悬停下拉列表功能
2017/02/17 Javascript
小程序实现列表多个批量倒计时
2021/01/29 Javascript
javascript的this关键字详解
2019/05/20 Javascript
微信小程序实现图片上传
2019/05/23 Javascript
vue element 中的table动态渲染实现(动态表头)
2019/11/21 Javascript
详谈python中冒号与逗号的区别
2018/04/18 Python
python爬虫之验证码篇3-滑动验证码识别技术
2019/04/11 Python
python安装requests库的实例代码
2019/06/25 Python
WxPython实现无边框界面
2019/11/18 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
Python调用C/C++的方法解析
2020/08/05 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
2020/08/07 Python
CSS3 绘制BMW logo实的现代码
2013/04/25 HTML / CSS
html5的localstorage详解
2017/05/09 HTML / CSS
台湾演唱会订票网站:StubHub台湾
2019/06/11 全球购物
C#怎么让一个窗口居中显示?
2015/10/20 面试题
校友会欢迎辞
2014/01/13 职场文书
学校安全工作制度
2014/01/19 职场文书
企业安全标语
2014/06/07 职场文书
中药学自荐信
2014/06/15 职场文书
我们的节日春节活动方案
2014/08/22 职场文书
不同意离婚上诉状
2015/05/23 职场文书
民事诉讼代理词
2015/05/25 职场文书
大队委员竞选演讲稿
2015/11/20 职场文书
2016保送生自荐信范文
2016/01/29 职场文书
Nginx下SSL证书安装部署步骤介绍
2021/12/06 Servers