Ved*_*Ved 1 java oop design-patterns interface
我对为什么我们将代码实现到接口的设计方法有疑问。这在原始数据类型中非常常见。就像我没有得到这两者之间的区别:
Map<Integer, String> mymap = new HashMap<Integer, String>();
Run Code Online (Sandbox Code Playgroud)
和
HashMap<Integer, String> mymap = new HashMap<Integer, String>();
Run Code Online (Sandbox Code Playgroud)
这两者有什么区别吗?我的意思是,mymap在这两种情况下,我们将要使用的每个地方都将保持不变。
如果问题似乎没有用,我很抱歉,但我真的不明白这将如何在以后使用的地方产生任何影响mymap。请帮忙?
谢谢..
注意 - 我已经在 SO 上看到了这个问题,但它没有给出我想要的。
第二个选项限制您始终使用 HashMap,即使有一天 TreeMap 可能更有用。
在第一个中,您可以更轻松地更改特定实现 - 您只需更改一行代码。如果您从方法返回地图,则尤其明显 - 方法返回类型不必更改。
对接口进行编码也有助于在测试期间模拟对象,但我认为这里并非如此。
| 归档时间: |
|
| 查看次数: |
1336 次 |
| 最近记录: |