您的位置:首页 > 其它

为什么使用接口

2014-07-21 17:37 155 查看
两个类中的两个类似的功能,调用它们的类动态地决定一种实现,那它们提供一个抽象父类子类分别实现父类所定义的方法。

问题的出现:Java 是一种单继承的语言,一般情况下,哪个具体类可能已经有了一个父类,解决是给它的父类加父类,或者给它父类的父类加父类,只到移动到类等级结构的最顶端。这样一来,对一个具体类的可插入性的设计,就变成了对整个等级结构中所有类的修改。接口是可插入性的保证。

在一个等级结构中的任何一个类都可以实现一个接口,这个接口会影响到此类的所有子类,但不会影响到此类的任何父类。此类将不得不实现这个接口所规定的方法,而其子类可以从此类自动继承这些方法,当然也可以选择置换掉所有的这些方法,或者其中的某一些方法,这时候,这些子类具有了可插入性(并且可以用这个接口类型装载,传递实现了他的所有子类)。

我们关心的不是哪一个具体的类,而是这个类是否实现了我们需要的接口。

接口提供了关联以及方法调用上的可插入性,软件系统的规模越大,生命周期越长,接口使得软件系统的灵活性和可扩展性,可插入性方面得到保证。

接口把方法的特征和方法的实现分割开来。这种分割体现在接口常常代表一个角色,它包装与该角色相关的操作和属性,而实现这个接口的类便是扮演这个角色的演员。一个角色由不同的演员来演,而不同的演员之间除了扮演一个共同的角色之外,并不要求其它的共同之处。

对于下述情况,接口是有用的:
声明方法,期望一个或更多的类来实现该方法。
揭示一个对象的编程接口,而不揭示类的实际程序体。(当将类的一个包输送到其它开发程序中时它是非常有用的。)
捕获无关类之间的相似性,而不强迫类关系。
可以作为参数被传递到在其它对象上调用的方法中面向对象程序设计讲究“提高内聚,降低耦合”,那么不同的程序模块怎么相互访问呢,就是通过接口,也就是接口是各部分对外的统一外观。接口在 Java 程序设计中体现的思想就是隔离,因为接口只是描述一个统一的行为,所以开发人员在面向接口编程时并不关心具 体的实现。

由以上讲到的接口的作用和基本思想可以看到,接口在面向对象的 Java 程序设计中占有举足轻重的地位。事实上在设计阶段最重要的任务之一就是设计出各部分的接口,然后通过接口的组合,形成程序的基本框架结构
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: