Показать сообщение отдельно
Старый 13.08.2018, 21:08
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 14  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Маркерные интерфейсы используются, когда надо выразить не ЧТО ДЕЛАЕТ объект, а ЧТО МОЖНО СДЕЛАТЬ с ним. Что значит "сделать с ним"? Ну, обычно это значит "передать аргументом в какую-то функцию", ибо "делают" у нас функции. Например, можно пометить какие-то предметы разных классов как ДобавлябельныеВИнвентарь. Но, как правильно заметил Кейси, это лишь отодвигает проблему вглубь — в инвентаре все-равно придется разбираться что это за фрукт. Тем не менее, положа руку на сердце, добавляемые в инвентарь предметы могут на самом деле не иметь общих методов, так как используются совершенно по-разному, и даже индивидуальную иконку иметь не обязаны, а такие поля как name или ID — общие для ВСЕХ объектов, а не только Добавлябельных. Так что в каких-то ситуациях это может быть инструментом, упрощающим архитектуру — если какой-то метод реально готов принимать для обработки объекты разных типов.
__________________
Reality.getBounds(this);