抽象类和接口

本文讲解了接口与抽象类的概念及应用方式。接口用于表明功能,抽象类则用于定义共通的方法。通过实例说明了如何结合使用接口和抽象类来构建软件结构。

接口和抽象类该如何用?

接口(用于表明功能)

微软所有的接口都是以able结尾,意思是“我能做...”

但接口都是需要具体实现的,如何实现接口不做定义

这个时候我们就需要类或者抽象类去实现它

抽象类(用于表明关系)

抽象类是为了定义一些公共的方法。

例如:BUS、Taxi,都是车(Car),都有轮盘(宏观),都需要汽油(宏观)

因此,我们可以在抽象类中去定义公共的方法去描述子类所拥有的属性(继承自普通的类也可以,不是抽象类主要的作用)

但从费用上来说,他们是有区别的,但都会产生费用,这时候我们就需要定义一个抽象类,标明他们需要自己去定义自己的费用。注:都会产生费用是共同点,但各自会产生不同的费用(差异)。

两者的关系

从理论上来说

首先是要定义好接口,比如说我能生产汽油,我能生产轮盘,我能生产引擎等等

然后让抽象类继承接口,把所有相同的特性放在一起(例如:轮盘使用相同的规格,汽油使用相同的规格),可以在抽象类中去实现功能,把差异的写成抽象方法,让子类去重写(例如引擎采用不同品牌的引擎)。

接下来让子类(Car类)继承自抽象类(例如:Bus使用1号引擎,Taxi使用2号引擎),重写抽象类。如果子类还是没法完全区分对象(例如:Bus No.1使用的是8号引擎,Bus No.2使用的是9号引擎),则在该类中继续保留父级抽象类(Bus类),是其自身也成为一个抽象类,让子类(Bus No.1类、Bus No.2类)去实现该方法,以此类推,直至能充分描述该对象的特性为止

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值