Я хочу представить комнату (карту комнаты: 2d массив строк, количество строк, nr. Столбцов) в моем коде. Мне нужно получить четыре оборота (90, 180, 270, 0 градусов). Все поля: карта, строки строк изменяются при повороте комнаты. Я думал об объявлении четырех интерфейсов IRoom90
, IRoom180
... и реализации их всех, но тогда мне нужно написать ((IRoom90) myRoom).columns
, и это кажется не изящным.Оптимальный способ представления нескольких версий одних и тех же данных
Каков надлежащий способ реализации таких функций?
EDIT: Я думал о том, что даст мне доступ, как myRoom.rot(90).columns
.
См. Редактирование на op. В любом случае, я не получаю ваш второй абзац. Не могли бы вы перефразировать? – hungry91