Здравствуйте, netch80, Вы писали:
_>>Ты же наверняка знаешь, что во всех этих языках все методы являются виртуальными функциями (говоря языком C++).
N>Вы тут ну очень много написали, но в следующих ста сообщениях я не увидел возражений, поэтому комментирую. Как это получилось, что ты не в курсе, что в Java и C# просто перевёрнуто умолчание объявления метода виртуальным? Там, где в C++ говорится virtual, в Java молчат, а где в C++ не говорится virtual, в Java говорится final (а в C# — sealed), последствия для виртуальности те же.
Вообще-то это другое, с другими свойствами. final/sealed не делает метод не виртуальным, точнее виртуальный метод вполне может быть final
И кстати final есть и в C++, что я уже выше упоминал.
N>Это чуть упрощая (есть проблемы одноимённых методов и т.п.), но для данных целей сгодится. И видя final — компилятор (пусть JIT) точно так же имеет право рисовать обращение напрямую к нужному методу или инлайнить его.
Вот только в
примереАвтор: pilgrim_
Дата: 14.01.17
который разбирался в топике, final в базе A на метод f не поставишь