Расширьте каждый из классов, представляющих геометрические примитивы, созданные для задания 2 (см. Выше), следующими методами:
1) void serialize (OutputStream output) - метод экземпляра, позволяющий сохранить состояние данного геометрического примитива в OuputStream;
2) deserialize (InputStream input) - метод класса (т.е. статический), создающий экземпляр данного геометрического примитивного типа (например, треугольник) на основе данных, полученных из InputStream . соответствует конкретному геометрическому примитивному классу - например, Triangle или Square.
Каждая строка файла (доступ к которому осуществляется с помощью потока), хранящего данные о геометрических примитивах, должна соответствовать следующему формату:
"в скриншоте формат"
Например:
triangle base=2 height=3
square side=4
Метод объекта serialize () должен сохранять информацию о конкретном геометрическом примитиве в соответствии с описанным выше форматом. Вывод serialize () должен отличаться для конкретных классов, представляющих геометрические примитивные типы.
Статический метод deserialize () должен восстанавливать данные о геометрическом примитиве, предполагая, что ввод соответствует формату, описанному выше.
ПРИМЕЧАНИЕ: при десериализации (т.е. восстановлении объекта из входного потока) вам необходимо итеративно попытаться преобразовать строку из входного потока в экземпляр универсального примитива. Если строка не соответствует формату поддерживаемых геометрических примитивных типов, метод deserialize () может либо вернуть null (пустое значение), либо вызвать исключение.
Задание 2 на которое ссылается это задание я смогу выслать, в нём классы фигур.(прикрепил скриншот)