考虑团队和球员两个班级.
Class Player
{
String name;
int age;
//Getters and Setters
}
Run Code Online (Sandbox Code Playgroud)
代表球队的最佳方式是什么?
1)
Class Team
{
String teamName;
String city;
List<Player> players;
//Getters and Setters
}
Run Code Online (Sandbox Code Playgroud)
2)
Class Team
{
String teamName;
String city;
//Getters and Setters
}
Class TeamPlayers
{
Team team;
List<Player> players;
//Getters and Setters
}
Run Code Online (Sandbox Code Playgroud)
第一种形式对我来说似乎更合乎逻辑,但后者提供了更大的灵活性.那么我可以决定哪一个以及这两种方法的可能的利弊.
我认为在这里使用泛型会很好
public class Team<T>{
List<T> members = new ArrayList<T>();
}
Run Code Online (Sandbox Code Playgroud)
这样你就可以组建任何类型的团队。
从您的代码中,我更喜欢第一个选项,因为它的HAS-A关系和多重性。