黑马程序员技术交流社区
标题:
面向接口编程?
[打印本页]
作者:
坚持525
时间:
2014-10-16 13:26
标题:
面向接口编程?
在7K项目中,一开始写了这个
private List<String> vechicles = new ArrayList<String>();
复制代码
说是面向接口编程,会利于后面的扩展,是什么意思呢?
作者:
ifinver
时间:
2014-10-16 13:36
List是个接口,用List变量接收它的子类(多态)引用,以后想更改的时候,只需要更改一下子类引用就行了,比如你以后发现这里用LinkedList代替ArrayList更好,只改第一句就行了。
高级的做法就是,你这个vechicles变量接收的实例引用通过反射去取,从配置文件中读取一个List接口的具体实现类的名称,实例化后赋给vechicles,所以以后连代码都不用改了,只改配置文件就行了。这就是面向接口编程的可扩展性。
作者:
坚持525
时间:
2014-10-22 14:28
ifinver 发表于 2014-10-16 13:36
List是个接口,用List变量接收它的子类(多态)引用,以后想更改的时候,只需要更改一下子类引用就行了,比 ...
好的,学习了,谢谢!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2