抽象类与接⼝的应⽤场景
接⼝(interface)的应⽤场合:
1. 类与类之前需要特定的接⼝进⾏协调,⽽不在乎其如何实现。
2. 作为能够实现特定功能的标识存在,也可以是什么接⼝⽅法都没有的纯粹标识。
3. 需要将⼀组类视为单⼀的类,⽽调⽤者只通过接⼝来与这组类发⽣联系。
4. 需要实现特定的多项功能,⽽这些功能之间可能完全没有任何联系。
抽象类(abstract class)的应⽤场合:
抽象类的使用⼀句话,在既需要统⼀的接⼝,⼜需要实例变量或缺省的⽅法的情况下,就可以使⽤它。最常见的有:
1. 定义了⼀组接⼝,但⼜不想强迫每个实现类都必须实现所有的接⼝。可以⽤abstract class定义⼀组⽅法体,甚⾄可以是空⽅法体,
然后由⼦类选择⾃⼰所感兴趣的⽅法来覆盖。
2. 某些场合下,只靠纯粹的接⼝不能满⾜类与类之间的协调,还必需类中表⽰状态的变量来区别不同的关系。abstract的中介作⽤可以
很好地满⾜这⼀点。
3. 规范了⼀组相互协调的⽅法,其中⼀些⽅法是共同的,与状态⽆关的,可以共享的,⽆需⼦类分别实现;⽽另⼀些⽅法却需要各个⼦
类根据⾃⼰特定的状态来实现特定的功能
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论