ООП реализация предметов в комнате - ООП и паттерны - Ответ 17012051

Если новые классы добавляться не будут, то первые 2 варианта вполне можно сделать (если кода будет не много). Как различать их - думай сам (рефлексия, тэги и т.д.).

Вопрос такой: а что это за общий метод который будет вызываться для каждого Item?

Зачем тебе знать реализацию каждого Item, если поведение должно быть одинаково для всех? Скорее тебе надо выделить один метод и назвать его типа Update() или Step(), который собственно эту логику и будет выполнять. А то, какие там будут действия Room волновать не должно.

Короче: сделай у Item единственный абстрактный метод Update(), который и будет реализовывать эту логику шага и не надо делать зоопарк всяких GetContent(), SetEnabled() и тд.

Вернуться к обсуждению:

ООП реализация предметов в комнате ООП и паттерны