Swift предлагает 5 модификаторов доступа: open
, public
, internal
, fileprivate
и private
.В Swift, в чем разница между модификаторами доступа внутри и снаружи?
Из того, что я знаю об этих спецификаторов (в основном из linklink_2 &)
open
означает классы и члены класса могут быть подклассы и переопределяется как внутри, так и вне определяющего модуля (цели).
fileprivate
ограничивает использование сущности его определяющим исходным файлом. В основном доступно несколькими классами в одном файле.
private
ограничивает использование сущности своей заявочной декларацией.
Теперь, общественный и внутренний кажется довольно много мне то же самое: -
public
означает классы и члены класса могут быть подклассы и переопределить в определяющем модуле (цель) только.
internal
позволяет сущность быть используется в пределах определяющего модуля (целевой). Кроме того, это, оказывается, спецификатор по умолчанию, если ничего не упоминается. Обычно мы используем внутренний доступ при определении внутренней структуры приложения или внутренней структуры.
В целом, как публичные и внутренние отличаются?
Это мой первый вопрос здесь, поэтому, если я пропустил какие-либо подробности, пожалуйста, дайте мне знать. Заранее спасибо.
'public' видны вне определяющего модуля,' internal' не являются – user28434
@ user28434 Я считаю, что 'public 'отображается только внутри определяющего модуля. – iCode
@ user28434, вы можете обратиться к ссылкам, указанным для подтверждения. – iCode