Re[5]: Принудительное ограничение иерархии классов
От: TRONZA  
Дата: 08.08.03 04:30
Оценка:
Здравствуйте, lboss, Вы писали:

L>Здравствуйте, LaptevVV, Вы писали:


LVV>>Здравствуйте, TRONZA, Вы писали

LVV>>В С++ такого явного механизма, как в Яве final — нету.

L>На самом деле, по опыту знаю, что потобные механизмы крайне вредны... Запрет на L>рассширение лучше в документации указывать, а то как только упираешься в недостаток L>разработки какой-нибудь либы, очень хочется отнаследоваться и перекрыть некоректно L>работающий метод — ан нет — какой-то умник решил, что клас финальный — и иди правь L>чужую либу и получай механизм патчей.


Собственно, я уже понял что явного механизма не имеется. Спасибо всем ответившим.

Все же добавлю, что мнение о вреде такого запрета, и достаточности указания запрета в документации вообще не согласуется с механизмами типобезопасности, ооп и т.д. Эти механизмы должны быть жесткими а иначе прок от них невелик. Вы же сами пишите
"...в документации указывать", и тут же "...очень хочется отнаследоваться". Ведь методы могут работать сложным образом, тот кто их разрабатывал может иметь сложную мотивацию их устройства и нет гарантии что перекрывающие методы (или унаследованный класс) сможет корректно это сделать. Т.е. опять таки такие ограничения — элемент защиты от сложности (именно тех кто с этим классом потом работает.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.