В чем разница между статическим и финальным классом в swift? - PullRequest
0 голосов
/ 16 сентября 2018

Насколько я знаю, статические функции отправляются статически, а функции конечного класса также отправляются статически (поскольку конечные функции не могут быть переопределены - как статические функции). Но тогда в чем именно разница. Есть ли вообще?

1 Ответ

0 голосов
/ 16 сентября 2018

То, что функция класса final не может быть переопределена, не означает, что она статически отправлена. Финальная функция класса переопределяет не финальную функцию класса суперкласса. Такой вызов метода должен отправляться динамически.

static это просто псевдоним для final class. Они ведут себя одинаково:

class C1 { class func foo() {} }
class C2: C1 { override final class func foo() {} }
class C3: C1 { override static func foo() {} }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...