接口

本文探讨了接口与抽象类在软件设计中的不同应用场景,分析了接口多重继承中的直观隐藏现象,解释了如何通过显式接口实现解决方法冲突问题,并讨论了接口与抽象类各自的特点。

教师类实现了驾驶证接口IDriverLicense

则教师类实例t能否成功转为驾驶证接口IDriverLicense

if(IDriverLicense d=t as IDriverLicense)

{

Console.write(“可以驾驶汽车”)

}

相当于驾驶证在车管所登记过。

 

IA

IBIA

Class CIB

IA IB接口有相同的方法。则IB接口方法必定要覆盖IA接口方法。

 

为了能够通过类C以接口的方式)访问两个方法,Class C必须用显式接口去分别实现两个接口的方法,调用这连个方法时,只能通过完全限定名来访问,不能通过类实例来访问。

从这点来说显式接口方法对类来说是私有的,而对接口来说是公有的。

如果不用显式接口去分别实现两个接口的方法,则即使用完全限定名来访问,也只能得到两个相同的IB接口的方法。

完全限定接口名可消除二义性

 

Class C:B ,IA

继承的接口方法重新实现的接口方法没有任何影响。

 

接口多重继承中的直观隐藏:如果成员在任何一个访问路径中被隐藏,那么它在所有的路径中都被隐藏。

 

接口 “我能做”(Can do

抽象类 “我是”(is a

 

接口为不相关的类提供通用功能。

抽象类用于关系密切的对象间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值