2016-10-15 2 views
1

привет всем, IN JAVA ... Я пишу шахматный код. В этом шахматном коде GAME является основным классом. Он составляет класс BOARD, а BOARD составляет классы KING, QUEEN, BISHOP, KNIGHT, ROOK.и эти классы KING, QUEEN, BISHOP, KNIGHT, ROOK расширяют PIECSES. поэтому теперь я хочу сохранить игру и сыграть ее после. Я прочитал сериализацию концепции, но я не понимаю, как ее реализовать, и к какому классу я должен писать «реализует Serializable» .i также имеют статические переменные в моем коде. будет обрабатывать статическую переменную в обычную переменную до сериализации и скопировать ее обратно в статическую переменную после помощи десериализации? СПАСИБО ...Сериализация шахматной игры

+1

Вместо сериализации всю игру, Вы рассмотрели сохранение игры в файле PGn? –

+0

нет, я хочу, чтобы он был особенно сериализован. Спасибо за Ваш интерес. –

ответ

0

Чтобы сериализовать объект в Java, вы должны убедиться, что: - каждое поле в этом классе сериализует - если любой из ваших полей не сериализаций, вы должны пометить их как переходные , Эти поля получат значение по умолчанию после сериализации/десериализации.

Чтобы ответить на ваш вопрос. Что вы хотите сделать, так это сохранить объект Game в потоке данных и сохранить его где-нибудь, а затем загрузить через некоторое время. Чтобы сделать это, вам нужно сделать класс Game реализацией Serializable. Убедитесь, что каждый класс, входящий в Game, также реализует Serializable (например, King, Queen и т. Д.).

Сохранение статического контекста локальной переменной может работать, но это не отличное решение. Попытайтесь переосмыслить, что на самом деле делает ваш игровой класс. Каждый объект игры должен быть автономным состоянием игры, не нужно делиться статическим контекстом между играми.

About object serialization

Serialization of static variables

+0

Я ценю ваш ответ, поэтому просто для подтверждения, мне нужно сделать классную игру «Сериализуемая игра». и этого достаточно для сохранения игры (кроме статической переменной), потому что CLASS GAME не состоит ни в одном другом классе, другой класс состоит из этой CLASS GAME, а составные CLASSES расширяют класс PIECES. –

+0

Да, и все классы, которые составляют игру, должны реализовать Serializable – annoyingoldman

Смежные вопросы