C#的overide隐式继承一个接口和显示继承一个接口的区别?

sangsang28 2013-08-28 09:19:00
<<C#入门经典>>这本书上面讲到,实现一个接口有显示和隐式两种方法。但是书上的例子讲的很不清楚。
各位大侠能给举个容易理解的例子么?
...全文
165 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2013-08-29
  • 打赏
  • 举报
回复
引用 4 楼 u011858831 的回复:
[quote=引用 1 楼 hdt 的回复:] 比如有两个接口IA ,IB 都有一个dowork函数 如果一个类C要同时实现这两个接口,该怎么办? 想清楚这些就清楚了
该怎么办呢? 这就是我的问题啊,没有想清楚的。[/quote] class A : IA, IB { void IA.DoWork() { } void IB.DoWork() { } } A a = new A(); (a as IA).DoWork(); (a as IB).DoWork();
全栈极简 2013-08-29
  • 打赏
  • 举报
回复
引用 4 楼 u011858831 的回复:
[quote=引用 1 楼 hdt 的回复:] 比如有两个接口IA ,IB 都有一个dowork函数 如果一个类C要同时实现这两个接口,该怎么办? 想清楚这些就清楚了
该怎么办呢? 这就是我的问题啊,没有想清楚的。[/quote] IA.dowork() and IB.dowork()
sangsang28 2013-08-29
  • 打赏
  • 举报
回复
引用 1 楼 hdt 的回复:
比如有两个接口IA ,IB 都有一个dowork函数 如果一个类C要同时实现这两个接口,该怎么办? 想清楚这些就清楚了
该怎么办呢? 这就是我的问题啊,没有想清楚的。
threenewbee 2013-08-28
  • 打赏
  • 举报
回复
显式实现接口可以让接口方法隐藏起来,除非调用者用as运算符作为接口类型,才能调用。 显式实现接口的优势在于,让调用者不能绕开接口而直接调用其中的方法,增强代码的可读性同时避免调用者的疏忽。
g4_magicvr 2013-08-28
  • 打赏
  • 举报
回复
简单来说就是说 如果继承的一堆接口中 有2个或者2个以上的接口有同名的属性/方法,而它们又是不同的功能的话,你就应该显示继承接口 反过来 随意(一般用隐式,因为可以偷懒) 如果你很犹豫应该用哪一种 而又必须保证不会出问题 直接使用显式
真相重于对错 2013-08-28
  • 打赏
  • 举报
回复
比如有两个接口IA ,IB 都有一个dowork函数 如果一个类C要同时实现这两个接口,该怎么办? 想清楚这些就清楚了

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧