接口和抽象类该如何用?
接口(用于表明功能)
微软所有的接口都是以able结尾,意思是“我能做...”
但接口都是需要具体实现的,如何实现接口不做定义
这个时候我们就需要类或者抽象类去实现它
抽象类(用于表明关系)
抽象类是为了定义一些公共的方法。
例如:BUS、Taxi,都是车(Car),都有轮盘(宏观),都需要汽油(宏观)
因此,我们可以在抽象类中去定义公共的方法去描述子类所拥有的属性(继承自普通的类也可以,不是抽象类主要的作用)
但从费用上来说,他们是有区别的,但都会产生费用,这时候我们就需要定义一个抽象类,标明他们需要自己去定义自己的费用。注:都会产生费用是共同点,但各自会产生不同的费用(差异)。
两者的关系
从理论上来说
首先是要定义好接口,比如说我能生产汽油,我能生产轮盘,我能生产引擎等等
然后让抽象类继承接口,把所有相同的特性放在一起(例如:轮盘使用相同的规格,汽油使用相同的规格),可以在抽象类中去实现功能,把差异的写成抽象方法,让子类去重写(例如引擎采用不同品牌的引擎)。
接下来让子类(Car类)继承自抽象类(例如:Bus使用1号引擎,Taxi使用2号引擎),重写抽象类。如果子类还是没法完全区分对象(例如:Bus No.1使用的是8号引擎,Bus No.2使用的是9号引擎),则在该类中继续保留父级抽象类(Bus类),是其自身也成为一个抽象类,让子类(Bus No.1类、Bus No.2类)去实现该方法,以此类推,直至能充分描述该对象的特性为止
本文讲解了接口与抽象类的概念及应用方式。接口用于表明功能,抽象类则用于定义共通的方法。通过实例说明了如何结合使用接口和抽象类来构建软件结构。
1655

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



