Я читал из других источников, что для объектов не очень хорошая идея знать друг о друге, особенно те, которые находятся на одном уровне.Это должно быть больше похоже на иерархию.
Моя проблема совершенно уникальна, так как я не нашел пути ее решения.Кроме того, мне не повезло встретить любую тему, которая конкретно касается моей проблемы.
Проблема Я создаю шахматное приложение и создаю модель приложения.Прямо сейчас у меня есть абстрактные объекты, такие как, например, Piece
, от которых другие части, такие как Queen
, Knight
, и остальные будут наследоваться.У меня также есть класс Board
, который обрабатывает все модели доски и состояние игры.Теперь у каждого из моих фигур есть метод generateMove()
для расчета возможных ходов с их позиции, и для этого им нужно знать состояние доски.Также Части были созданы Правлением при запуске.
Вопрос. Могу ли я пойти дальше и создать экземпляр Pieces, например,
public class ChessBoard{
Boardbit = 64bit
Knight = new Knight(start_position, this)
//calculate
}
, а затем в методе класса Найта
public long generateMove(ChessBoard);
Если нет, то какими еще способами я могу воспользоваться?Это?