从List list=new ArrayList()看面向接口编程的重要性
来源:互联网 发布:加工中心键槽怎么编程 编辑:程序博客网 时间:2024/06/03 22:00
作者:罗代均,ldj_work#126.com ,转载请保持完整性.
先看一段程序
1.现有一个支付账款的类Payment,有一个批量支付的方法
public void pay(List list){
//遍历List,进行支付
}
2.编写客户端程序,
public static void main(String[] args){
Payment payment=new Payment();
List list= new ArrayList();
list.add(...);
list.add(...); //添加帐号,
.....
payment.pay(list);
}
ok,现在由于ArrayList没有线程同步
我想改为Vector代替
只需要修改客户端程序的一句话: List list = new Vector();
而包含业务逻辑的Payment类,不需要做任何变化。
如果你用ArrayList list=new ArrayList()的话,
pay()方法为: pay(ArrayList list);
改为Vector后,pay也必须改为 pay(Vector v);
客户端,Payment的pay()方法。。。。,所有关联的代码你都必须改,这些代码分散到系统的各个地方,很容易遗忘某个地方,忘记修改了。。。。
这就是面向接口的好处,也就是说,类要依赖接口,而不依赖具体的实现,就像Payment,pay方法依赖的是List接口,而不是其实现类ArrayList,所以我们更改了List接口的实现(Vector),不会影响到 Payment,这就将变化的影响减到最低.
- 从List list=new ArrayList()看面向接口编程的重要性
- 从List list=new ArrayList()看面向接口编程的重要性
- 面向接口编程_从List list = new ArrayList()谈起
- List list = new ArrayList()等接口 new 实现类()的作用
- List list = new ArrayList();
- List list = new ArrayList();
- List list = new ArrayList();和ArrayList list=new ArrayList();的区别
- List list = new ArrayList();和ArrayList list=new ArrayList();的区别
- ArrayList list = new ArrayList() 和List<String> list = new ArrayList<String>() 的区别?
- List list = new ArrayList();和ArrayList list=new ArrayList();的区别
- List list = new ArrayList();和ArrayList list=new ArrayList();的区别
- List list = new ArrayList();和ArrayList list=new ArrayList();的区别
- List list = new ArrayList();和ArrayList list=new ArrayList();的区别
- List list = new ArrayList();和ArrayList list=new ArrayList();的区别?
- List<?> list= new ArrayList<?>为什么这样写 接口引用指向实现类的对象
- 详细说明 List list = new ArrayList()
- 为什么是List list = new ArrayList()
- List list=new ArrayList()怎么理解???
- WEB开发:WEB开发中的JAVA字符编码经验总结
- 无法启动调试 绑定句柄无效
- GNU宣言
- Linux操作:vi命令详解
- 近期烦心的人
- 从List list=new ArrayList()看面向接口编程的重要性
- Sun终于使Java成为开源软件 采用GPL许可
- [RHEL 4U4] 最小安装后安装配置LVS (RPM)
- APB .NET版本功能和技术特点
- 诗的意境
- 经典书籍
- 从xml文件中读取一个接点或者多个
- J2SE:Java解析网络数据流的三种特殊方法
- 24点小游戏