Мы используем файлы cookie для улучшения работы сайта и предоставления вам персонализированного опыта. Правила использования файлов cookie можно найти в нашей политике конфиденциальности
Класс, помеченный как open
, является нефинальным. Ключевое слово open
в Swift позволяет другим модулям (а не только внутри того же модуля, что и public
) наследовать от этого класса и переопределять его методы и свойства. Класс без open
или final
по умолчанию является internal
и может быть унаследован только внутри того же модуля. Класс, помеченный как final
, не может быть унаследован вообще.
Сравнительная таблица:
Ключевое слово | Наследование (в том же модуле) | Наследование (в других модулях) | Переопределение (в том же модуле) | Переопределение (в других модулях) | По умолчанию (без open /public /internal /fileprivate /private и final ) |
---|---|---|---|---|---|
open | Да | Да | Да | Да | Нет (по умолчанию internal ) |
public | Да | Нет | Да | Нет |
Класс, помеченный как open
, является нефинальным. Ключевое слово open
в Swift позволяет другим модулям (а не только внутри того же модуля, что и public
) наследовать от этого класса и переопределять его методы и свойства. Класс без open
или final
по умолчанию является internal
и может быть унаследован только внутри того же модуля. Класс, помеченный как final
, не может быть унаследован вообще.
Сравнительная таблица:
Ключевое слово | Наследование (в том же модуле) | Наследование (в других модулях) | Переопределение (в том же модуле) | Переопределение (в других модулях) | По умолчанию (без open /public /internal /fileprivate /private и final ) |
---|---|---|---|---|---|
open | Да | Да | Да | Да | Нет (по умолчанию internal ) |
public | Да | Нет | Да | Нет |
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.