分享

2.1.1 接口回顾

 静听沙漏 2012-02-29

第2章 简单工厂

简单工厂不是一个标准的设计模式,但是它实在是太常用了,简单而又神奇,所以需要好好掌握它,就当是学习设计模式的热身运动吧。

为了保持一致性,我们尽量按照学习其他模式的步骤来进行学习。

2.1 场景 问题

大家都知道,在Java应用开发中,要"面向接口编程"。

那么什么是接口?接口有什么作用?接口如何使用?我们一起来回顾一下。

2.1.1 接口回顾

1:Java中接口的概念

在Java中接口是一种特殊的抽象类,跟一般的抽象类相比,接口里面的所有方法都是抽象方法,接口里面的所有属性都是常量。也就是说,接口里面只有方法定义而没有任何方法实现。

2:接口用来干什么

通常用接口来定义实现类的外观,也就是实现类的行为定义,用来约束实现类的行为。接口就相当于一份契约,根据外部应用需要的功能,约定了实现类应该要实现的功能,但是具体的实现类除了实现接口约定的功能外,还可以根据需要实现其他一些功能,这是允许的,也就是说实现类的功能包含但不仅限于接口约束的功能。

通过使用接口,可以实现不相关类的相同行为,而不需考虑这些类之间的层次关系,接口就是实现类对外的外观。

3:接口的思想

根据接口的作用和用途,浓缩下来,接口的思想就是"封装隔离"。

通常提到的封装是指对数据的封装,但是这里的封装是指"对被隔离体的行为的封装",或者是"对被隔离体的职责的封装";而隔离指的是外部调用和内部实现,外部调用只能通过接口进行调用,外部调用是不知道内部具体实现的,也就是说外部调用和内部实现是被接口隔离开的。

4:使用接口的好处

由于外部调用和内部实现被接口隔离开了,那么只要接口不变,内部实现的变化就不会影响到外部应用,从而使得系统更灵活,具有更好的扩展性和可维护性,这也就是所谓"接口是系统可插拔性的保证"这句话的意思。

5:接口和抽象类的选择

既然接口是一种特殊的抽象类,那么在开发中,何时选用接口?何时选用抽象类呢?

对于它们的选择,在开发中是一个很重要的问题,特别总结两句话给大家:

优先选用接口

在既要定义子类的行为,又要为子类提供公共的功能时应选择抽象类。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多