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


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

面试题 相关文章推荐
Ibatis如何调用存储过程
May 15 面试题
如何提高JDBC的性能
Apr 30 面试题
2019年Java面试必问之经典试题
Sep 12 面试题
函数指针的定义是什么
Aug 14 面试题
数组越界问题
Oct 21 面试题
文件中有一组整数,要求排序后输出到另一个文件中
Jan 04 面试题
如何提高SQL Server的安全性
Jul 25 面试题
上海微创软件面试题
Jun 14 面试题
国外软件测试工程师面试题
Dec 09 面试题
如何唤起类中的一个方法
Nov 29 面试题
值传递还是引用传递
Feb 08 面试题
Hibernate持久层技术
Dec 16 面试题
抽象类和接口的区别
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
PHPlet在Windows下的安装
2006/10/09 PHP
PHP中for循环语句的几种变型
2007/03/16 PHP
PHP+FLASH实现上传文件进度条相关文件 下载
2007/07/21 PHP
php 删除记录实现代码
2009/03/12 PHP
PHP使用SOAP调用.net的WebService数据
2013/11/12 PHP
Cygwin中安装PHP方法步骤
2015/07/04 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
php微信开发之批量生成带参数的二维码
2016/06/26 PHP
php魔术方法功能与用法实例分析
2016/10/19 PHP
再谈Yii Framework框架中的事件event原理与应用
2020/04/07 PHP
检测input每次的输入是否合法遇到汉字输入就有问题
2012/05/23 Javascript
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
jquery ajax分页插件的简单实现
2016/01/27 Javascript
浅谈JS之iframe中的窗口
2016/09/13 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
详解Vue中使用v-for语句抛出错误的解决方案
2017/05/04 Javascript
react-router实现跳转传值的方法示例
2017/05/27 Javascript
react 应用多入口配置及实践总结
2018/10/17 Javascript
javascript实现小型区块链功能
2019/04/03 Javascript
详解express使用vue-router的history踩坑
2019/06/05 Javascript
微信小程序实现页面分享onShareAppMessage
2019/08/12 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
JS实现关闭小广告特效
2021/01/29 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
python+opencv实现的简单人脸识别代码示例
2017/11/14 Python
python清除字符串前后空格函数的方法
2018/10/21 Python
python pygame实现2048游戏
2018/11/20 Python
解决Python下json.loads()中文字符出错的问题
2018/12/19 Python
Django REST framework 视图和路由详解
2019/07/19 Python
django 前端页面如何实现显示前N条数据
2020/03/16 Python
Coltorti Boutique官网:来自意大利的设计师品牌买手店
2018/11/09 全球购物
Myprotein比利时官方网站:欧洲第一运动营养品牌
2020/10/04 全球购物
电钳专业个人求职信
2014/01/04 职场文书
解除合同协议书
2014/04/17 职场文书
收款委托书
2014/10/14 职场文书
心理学培训心得体会
2016/01/22 职场文书