Показать сообщение отдельно
Старый 01.06.2009, 17:12
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 1  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
По умолчанию Класс задает рид-онли свойство другому классу?

Как вы решаете такую проблему? Скажем, существуют 2 класса, назовем их Parent и Child. Parent может создавать Child'ов и после создания должен задать им свойство parent со ссылкой на самого себя, доступное только для чтения.

Пока мои варианты только такие:
диспатчить ребенку событие о том, что он добавлен в список детей родителя.
- недостатки: Если обработчик этого события оставить протектед, его можно будет переписать в детях наследующихся от Child'a - т.е. не надежно. Если обработчик сделать приватным, то получится одна дополнительная функция

создать у ребенка интернал метод, который будет задавать все нужные свойства.
- недостатки: Не знаю, как-то некрасиво да и не супер надежно в смысле если в дальнейшем наследоваться от Child'a.

статическое свойство у родителя, через которое можно получить ссылку на родителя создавшего этого конкретного ребенка...
- недостаки: Ну выглядит еще хуже, чем оба предыдущих варианта... как бы всерьез я это не рассматриваю, просто добавил потому что технически такое тоже возможно.

Вобщем, интересует ваше мнение, что вы делаете в такой ситуации?
__________________
Hell is the possibility of sanity