что под капотом всегда указан final
Если это так, то объясните зачем тогда писать его ЯВНО перед классом - final class ?? - я слышал объяснение, что final ускоряет запуск, т.к. компилятор видит, что наследников нет и что-то там далее (вроде связано с инициализацией)
По умолчанию, без явного указания final, ничего final не становится. А становится, только если оптимизатор посчитает это нужным. Для fileprivate и private выводится, для internal с включенным WMO выводится и ещё много где, но этого никто не гарантирует. Всегда может закрасться баг в текущей реализации оптимизатора, как это уже неоднократно было с final. Поэтому в большинстве случаев, а так же по той причине, что мы не можем знать всех возможных оптимизаций и выводов final, мы указываем его явно. Ну и тебе бы для начала почитать о самой базовой необходимости в final, а после уже задавать такими деталями. пс "я слышал объяснение, что final ускоряет запуск" - с таким далеко не уедешь )
Paul говорит что всего лишь для... "Swift gives us a final keyword just for this purpose: when you declare a class as being final, no other class can inherit from it." а что еще надо знать про final class?
Я думаю пока большего тебе знать просто не нужно ) Но я могу ошибаться.
Прошу, поделитесь
гугли что-то такое: диспетчеризация в swift
так он судя по всему это и смотрит😁
Вопрос лишь в том, зачем ему спрашивать об оптимизациях, когда человек пока ещё изучает самые базовые вещи.
Обсуждают сегодня