![]() |
#16 |
Участник
|
Цитата:
Реализуется метод в форме. Но вызов то идет из SysSetupForm. Это и есть friend. Т.е. либо метод надо делать публичным, либо френдить SysSetupForm. Поэтому SysSetupForm получается френдом для очень многих форм (другими словами, SysSetupForm слишком много знает о деталях реализации других форм), что приводит к снижению инкапсюляции. (пусть в Аксапте нет ключевого слова friend. но смысл то и проблемы не меняются) Цитата:
Если определяется класс, который не реализует математических объектов вроде матриц или комплексных чисел и не является типом низкого уровня наподобие связанного списка, то:
[а] Не используйте глобальных данных. [b] Не используйте глобальных функций (не членов). [c] Не используйте общих данных-членов. [d] Не используйте функции friend (но только для того, чтобы избежать [а], [b] или [c]). [e] Не обращайтесь к данным-членам другого объекта непосредственно. [f] Не заводите в классе "поле типа"; используйте виртуальные функции. [g] Используйте функции-подстановки только как средство значительной оптимизации. ... Отметим, что общие базовые классы и друзья (friend) являются частью общего интерфейса класса (см. $$5.4.1 и $$12.4). Последний раз редактировалось mazzy; 16.09.2010 в 10:04. Причина: добавил цитаты из Страуструпа |
|
Теги |
design, form, formreferencegroupcontrol, дизайн, законченный пример, итератор, округление, полезное, форма |
|
|