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


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

面试题 相关文章推荐
如何写出高性能的JSP和Servlet
Jan 22 面试题
JDO的含义
Nov 17 面试题
WebSphere 应用服务器都支持哪些认证
Dec 26 面试题
Java工程师面试集锦之Spring框架
Jun 16 面试题
Android interview questions
Dec 25 面试题
一组SQL面试题
Feb 15 面试题
关于Assembly命名空间的三个面试题
Jul 23 面试题
一套带网友答案的.NET笔试题
Dec 06 面试题
remote接口和home接口主要作用
May 15 面试题
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
May 20 面试题
新锐科技Java程序员面试题
Jul 25 面试题
Java语言程序设计测试题判断题部分
Jan 06 面试题
抽象类和接口的区别
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的FTP学习(二)[转自奥索]
2006/10/09 PHP
PHP 抽象方法与抽象类abstract关键字介绍及应用
2014/10/16 PHP
php模拟post提交数据的方法
2015/02/12 PHP
php版交通银行网银支付接口开发入门教程
2016/09/26 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
laravel框架学习笔记之组件化开发实现方法
2020/02/01 PHP
PHPStorm 2020.1 调试 Nodejs的多种方法详解
2020/09/17 NodeJs
Javascript 继承机制的实现
2009/08/12 Javascript
基于jquery打造的百分比动态色彩条插件
2012/09/19 Javascript
node.js中watch机制详解
2014/11/17 Javascript
javascript实现简单的鼠标拖动效果实例
2015/04/10 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
2015/10/16 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
2016/05/27 Javascript
WEB前端实现裁剪上传图片功能
2016/10/17 Javascript
详解js的延迟对象、跨域、模板引擎、弹出层、AJAX【附实例下载】
2016/12/19 Javascript
xmlplus组件设计系列之下拉刷新(PullRefresh)(6)
2017/05/03 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
2018/08/19 Javascript
微信小程序实现九宫格抽奖
2020/04/15 Javascript
layui插件表单验证提交触发提交的例子
2019/09/09 Javascript
简单实现节流函数和防抖函数过程解析
2019/10/08 Javascript
JavaScript实现下拉列表
2021/01/20 Javascript
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
2018/11/01 Python
python3爬虫获取html内容及各属性值的方法
2018/12/17 Python
python集合是否可变总结
2019/06/20 Python
python中enumerate() 与zip()函数的使用比较实例分析
2019/09/03 Python
英国男士时尚购物网站:Stuarts London
2017/10/22 全球购物
开展党的群众路线教育实践活动总结报告
2014/10/31 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
医院病假条范文
2015/08/17 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书
关于JavaScript回调函数的深入理解
2021/06/27 Javascript
Python爬虫 简单介绍一下Xpath及使用
2022/04/26 Python
Android基础入门之dataBinding的简单使用教程
2022/06/21 Java/Android