面向接口编程还有一些好处:
来源:互联网 发布:破解无线网络密码软件 编辑:程序博客网 时间:2024/05/17 23:13
1.一个功能的调用者只需要关心如何使用此功能,而无须关注功能的实现。
如:如我们在main 方法中调用一个client程序,我们只需要Client client = new ClientImpl(),无论 ClientImpl 类中定义了多么复杂的成员函数和成员变量(包括javadoc),你都看不到,你也无须看到。
2.面向接口编程便于团队合作,有了统一的接口(接口是公开的,里面的方法都是public的),无须担心别人的程序无法使用我的实现(他根本就不关心)。假如我们团队正在做一个计算器小程序,想要计算1+2+...+100=?,product manager 写了一个接口,让两个员工分别实现,他最后看那个程序算法算得快,于是这两个员工就对接口分别做了实现。PM只需要写一个程序就可以评估他们的算法。
public int getTime(Interface in){
int a = System.currentTime();
in.run();
return Sustem.currentTime()-a;
}
试想一下,如果没有接口,这个经理必须分别new这两个员工的class,然后调用可能不同的方法(A:run(), B:go())来运行。
3.(回答你的问题)接口的继承关注的是功能的扩展,而不是代码的修改。class的继承就是功能性代码的增加。两者关注的焦点不同。
本人观点:
我个人认为,接口一旦设计好了,很少需要修改,除非业务逻辑或需求有较大变动。
多继承的用途(只是举个例子):
如,SUN对一项技术写了一个规范如J2EE的JMS规范,很多vender在自己的应用服务器(如WebSphere, WebLogic, Jboss等)都要实现这一个规范,故且把这个规范叫做接口,每个vender想要对这个规范添加自己独特的功能,怎么办呢?就是用接口的继承,然后对继承了的接口做实现。
举个例子:
public interface InterfaceA {
}
public interface InterfaceB {
}
public interface InterfaceAB extends InterfaceA, InterfaceB{
}
public class InterfaceAImpl implements InterfaceA {
}
public class InterfaceBImpl implements InterfaceB {
}
public class InterfaceABImpl implements InterfaceAB {
}
public class Main {
}
利用多态(向上转型),我们就可以达到不同vender间接口的统一。
总之,这种情况我很少见,主要用1、2的特性。
转载地址:
- 面向接口编程还有一些好处:
- 面向接口编程还有一些好处:
- 面向接口编程的好处
- 面向接口编程的好处
- 浅谈面向接口编程好处
- 面向接口编程的好处
- 面向接口编程的好处
- 面向接口编程的好处
- 面向接口编程的好处
- 面向接口编程的好处
- 面向接口编程及面向接口编程的好处
- 面向接口编程以及面向接口编程的好处
- 面向接口编程的好处分析
- java中面向接口编程的好处
- java中面向接口编程的好处
- 面向接口编程的好处分析
- 论面向接口编程的好处
- Java面向接口编程的好处
- android基于SlidingDrawer实现抽屉效果
- 常用图像处理算法(三)
- 关于fedora 17启动时显示cannot open font file true的解决办法
- 自写模态对话框时,ok和cancel的问题
- 二叉树的非递归(先序、中序、后序)遍历
- 面向接口编程还有一些好处:
- File类的用法总结,及文件过滤器的介绍。
- hdu 1422 最大子序列和问题的变形,最长非负子序列
- xml的应用
- 魔兽哈希算法封装和测试
- Django框架(一): 安装部署
- 技术人员创业后就不再适合继续编码了?
- MYSQL分页limit速度太慢
- DB2存储过程总结