Это может показаться тривиальным вопросом о производительности, но в Swift, если вы объявите класс как final
, необходимо также объявить все его методы как final
или это просто избыточная избыточность? Я просто хочу убедиться, что мои конкретные классы работают как final
, чтобы обеспечить максимальную безопасность и производительность в моем приложении. Спасибо за любые советы, мудрость или знания заранее!Быстрые конечные классы и функции
ответ
Swift, если вы объявляете класс как окончательное это необходимо также объявить все методы, как окончательные или это просто лишняя избыточность
Да, это излишний. Если класс является окончательным, все его члены являются окончательными по смыслу. Вы получаете эффективность, чтобы избежать динамической отправки, и что вы хотите делать.
Так что в принципе не нужно делать эти методы окончательными? –
Правильно, потому что каким образом вы могли бы переопределить один из этих методов? Вы не можете создать подкласс, поэтому нет места для переопределения. – matt
- 1. Конечные поля и неизменяемые классы
- 2. Аксиома Deathmatch: Конечные Классы
- 3. Быстрые функции
- 4. Быстрые переменные значения и функции
- 5. клона() не являющиеся конечные классы
- 6. Понимание быстрые функции
- 7. Быстрые функции класса
- 8. Bash неудачу быстрые функции
- 9. Быстрые функции без параметров
- 10. Быстрые функции, принимающие кортежи
- 11. Swift Классы и функции
- 12. классы и функции
- 13. CoffeeScript, классы и функции
- 14. функции и классы шаблонов
- 15. Быстрые функции и затворы соответствуют Hashable?
- 16. Почему конечные классы нельзя переопределить в java?
- 17. Как определить «конечные» функции-члены для класса
- 18. Асинхронные классы и его функции
- 19. Классы и функции в Python
- 20. Scala неявные классы и функции
- 21. Функции друга и производные классы
- 22. C++ классы, конструкторы и функции
- 23. Параметры и классы функции C++
- 24. Функции и классы Java 8
- 25. PhalconPHP - Глобальные функции и классы
- 26. HBase, есть ли более быстрые способы получить все регионы и их соответствующие начальные и конечные ключи?
- 27. Быстрые классы внутри Objective-C unit test - Неполное сгенерированное «-Swift.h»
- 28. Быстрые даты и время
- 29. Быстрые классы внутри структуры, переданные копией во время назначения?
- 30. Быстрые классы против классов Objective-C. Я на правильном пути?
Dang. Уже задано –
Когда вы включаете «Оптимизация всего модуля» в настройках сборки компилятора, это имеет аналогичный эффект. Но это делается компилятором для вас, и вам не нужно отмечать все кланы как окончательные. Недостаток: он работает только для приложений, а не для библиотек, и это значительно увеличивает время сборки. Но это можно сделать, например, только для версий RELEASE. – Darko
@ Дарко, что такое «ма»? –