Здравствуйте, lboss, Вы писали:
L>Здравствуйте, LaptevVV, Вы писали:
LVV>>Здравствуйте, TRONZA, Вы писали LVV>>В С++ такого явного механизма, как в Яве final — нету.
L>На самом деле, по опыту знаю, что потобные механизмы крайне вредны... Запрет на L>рассширение лучше в документации указывать, а то как только упираешься в недостаток L>разработки какой-нибудь либы, очень хочется отнаследоваться и перекрыть некоректно L>работающий метод — ан нет — какой-то умник решил, что клас финальный — и иди правь L>чужую либу и получай механизм патчей.
Собственно, я уже понял что явного механизма не имеется. Спасибо всем ответившим.
Все же добавлю, что мнение о вреде такого запрета, и достаточности указания запрета в документации вообще не согласуется с механизмами типобезопасности, ооп и т.д. Эти механизмы должны быть жесткими а иначе прок от них невелик. Вы же сами пишите
"...в документации указывать", и тут же "...очень хочется отнаследоваться". Ведь методы могут работать сложным образом, тот кто их разрабатывал может иметь сложную мотивацию их устройства и нет гарантии что перекрывающие методы (или унаследованный класс) сможет корректно это сделать. Т.е. опять таки такие ограничения — элемент защиты от сложности (именно тех кто с этим классом потом работает.