说我有一个班级Person
,它有一个方法doSomething()
。我创建了static ArrayList<Person> people
和方法doSomethingToAllPeople()
,为doSomething()
中的每个Person
调用people
。我应该将people
和doSomethingToAllPeople()
放在Person
班级还是其他PersonManager
班级?它甚至重要吗?以下是一些示例代码:
class Person
{
public void doSomething()
{
//stuff here
}
}
//where should the following code go?
static List<Person> people = new ArrayList<Person>();
for(int i = 0; i < 10; i++)
{
people.add(new Person());
}
static void doSomethingToAllPeople()
{
for(Person person : people)
{
person.doSomething();
}
}
答案 0 :(得分:1)
简而言之,这无关紧要,是一个偏好问题。但是,如果您需要我的意见,我会考虑让您的Person
课程独立于您的Person
集合。将这两个部分保持分离可以保持类的灵活性,而关于Java的一个好处就是它可以让你创建漂亮的,包含的,可重用的类。
考虑一个实现PersonRegistry类>工厂设计模式。它可能有一个创建Person
实例的方法,并在返回之前将此实例添加到集合中。这样可以在保持Person
独立和灵活的同时实现所需的功能。