【发布时间】:2014-07-01 04:14:47
【问题描述】:
我被告知根据以下代码示例开发我的代码:
Class Dogs{
List<Dog> listOfDogs = new ArrayList<Dog>();
// Setters, getters...
}
Class Dog{
// Attributes and methods
}
问题是:为什么将Dogs 类实现为Dog 对象的ArrayList 的容器而不是仅仅引用一个简单的ArrayList 更好。
这算不算封装?
【问题讨论】:
-
这很大程度上取决于你想表达什么。在合同中,您可能希望有明确的类集合,而在普通程序中,您不需要这样。最后你真的应该问那个告诉你为什么他认为这样会更好的人。
-
您可能会从这个问题的最佳答案中获得一些见解:stackoverflow.com/questions/21692193/why-not-inherit-from-listt 问题本身有点不同,但概念上有很多重叠
标签: java class containers idioms