用较少的耦合表示java中的多重性

Har*_*ran 5 java oop

考虑团队和球员两个班级.

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)

第一种形式对我来说似乎更合乎逻辑,但后者提供了更大的灵活性.那么我可以决定哪一个以及这两种方法的可能的利弊.

Pra*_*kar 0

我认为在这里使用泛型会很好

public class Team<T>{

List<T> members = new ArrayList<T>();


}
Run Code Online (Sandbox Code Playgroud)

这样你就可以组建任何类型的团队。

从您的代码中,我更喜欢第一个选项,因为它的HAS-A关系和多重性。