一
教师类实现了驾驶证接口IDriverLicense,
则教师类实例t能否成功转为驾驶证接口IDriverLicense
if(IDriverLicense d=t as IDriverLicense)
{
Console.write(“可以驾驶汽车”);
}
相当于驾驶证在车管所登记过。
二
IA
IB:IA
Class C:IB
IA IB接口有相同的方法。则IB接口方法必定要覆盖IA接口方法。
为了能够通过类C(以接口的方式)访问两个方法,Class C必须用显式接口去分别实现两个接口的方法,调用这连个方法时,只能通过完全限定名来访问,不能通过类实例来访问。
从这点来说显式接口方法对类来说是私有的,而对接口来说是公有的。
如果不用显式接口去分别实现两个接口的方法,则即使用完全限定名来访问,也只能得到两个相同的IB接口的方法。
完全限定接口名可消除二义性
三
Class C:B ,IA
继承的接口方法对重新实现的接口方法没有任何影响。
四
接口多重继承中的直观隐藏:如果成员在任何一个访问路径中被隐藏,那么它在所有的路径中都被隐藏。
五
接口 “我能做”(Can do)
抽象类 “我是”(is a)
接口为不相关的类提供通用功能。
抽象类用于关系密切的对象间。
本文探讨了接口与抽象类在软件设计中的不同应用场景,分析了接口多重继承中的直观隐藏现象,解释了如何通过显式接口实现解决方法冲突问题,并讨论了接口与抽象类各自的特点。
2271

被折叠的 条评论
为什么被折叠?



