У меня есть класс Player с некоторыми полями:
String name;
Point position;
Action action;
Поле 'name' является своего рода ключом, не может быть 2 игрока с одинаковым именем. Поэтому мне кажется, что они равны, если «имя» (вероятно, игнорируется) совпадает. Поэтому я использую только String.equalsIgnoreCase (String) или проверяю и другие поля?
1) Должен ли я проверять больше, чем поле имени в методе equals в Player?
2) Должен ли я выдать ошибку в методе equals, если другие поля не совпадают?
3) И разумно ли проверять это поле только для подклассов, потому что даже в подклассах одно и то же имя указывает на одного и того же игрока, или я должен выбрать другой метод для сравнения? Пример:
class MovingPlayer extends Player{
Point destination;
Таким образом, поле 'name' по-прежнему является ключом (что-то вроде ключа между подклассами).
Заранее спасибо, Тьен