接口存在的价值及其特性
在我自己早期学习编程的时候,对接口存在的意义实在困惑,我自己乱写代码的时候基本上不可能意识到需要去写接口,不知道接口到底有什么用,为什么要定义接口,感觉定义接口只是提前做了个多余的工作。 其实不是,定义接口并非多余,「接口是用来提供公用的方法,规定子类的行为的」。举个例子,让大家直观的感受下接口的作用: 比如有个网站, 需要保存不同客户的信息, 有些客户从 Web 网站来, 有些客户从手机客户端来, 有些客户直接从后台管理系统录入。假设不同来源的客户有不同的处理业务流程, 这个时候我们定义接口来提供一个保存客户信息的方法,然后不同的平台实现我们这个保存客户信息的接口,以后保存客户信息的话, 我们只需要知道这个接口就可以了,具体调用的方法被封装成了黑盒子,这也就是 Java 的多态的体现,「接口帮助我们对这些有相同功能的方法做了统一管理」。 再比如说,我们要做一个画板程序,其中里面有一个面板类,主要负责绘画功能,然后你就定义了这个类,可是在不久的将来,你突然发现这个类满足不了你了,然后你又要重新设计这个类,更糟糕是你可能要废弃这个现有的类,那么其他引用这个类的地方也需要做出修改,显然这样非常麻烦。 如果你一开始定义了一个接口,把绘画功能放在这个接口里,然后定义类时实现这个接口,那么你只需要用这个接口去引用实现它的类就行了,以后要修改的话只不过是引用另一个类而已。「接口的使用提高了代码的可维护性和可扩展性」。 另外,从这两个例子我们也能看出,接口不仅「降低了代码的耦合度」,而且仅仅描叙了程序对外的服务,不涉及任何具体的实现细节,这样也就比较「安全」一些。 (编辑:宁波网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- IBM借力PMC模块化方案拼杀混合云红海
- 苹果AirPods Pro耳机供货吃紧 预计发货日期仍为4周
- word flow输入法怎么设置皮肤 word flow输入法设置皮肤颜色
- 什么是ABA问题?Java里面的原生解决计划是什么?
- 惠达卫浴2019年净利润3.29亿元,同比增加37.78%
- 极具创意的遛娃神器,m-cro迈古四合一滑板车
- MySQL8.0新特性之支持原子DDL语句的示例解析
- php serialize()与unserialize() 不完全研究
- mysql – 如果主键是由数据库生成的,如何使用em.merge()为j
- html5 移动端视频video的android兼容(去除播放控件、全屏)