Борис Рюмшин писал(а):
Супервызовы вообще были помечены, как выводимые из языка. И это правильно.
(А вот процедурные переменные, которые тоже так были помечены, выводить из языка не следует)
И EXTENISBLE-процедуры с возможностью полного переопределения выводить не следует.
А супервызовы, видимо, да.
Или используй версионные и EMPTY-методы, или обёртки, если надо модифицировать базовое поведение.
А переопределение - только полностью.
С другой стороны, не вижу сильной проблемы и оставить.
Насильно блокировать архитектурные решения - уже дело гиблое. Допустить архитектурную ошибку по невнимательности/в силу того, что "люди ошибаются" и т.п. (как с ошибками типов, памяти и др.) - невозможно. А запрещать осознанные действия смысла тоже нет.
Всего, к тому же, не предусмотришь "из кабинета" заранее в плане архитектуры.