微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Swift中,Access修饰符内部和公共之间有什么区别?

Swift提供5种访问修饰符:open,public,internal,fileprivate和private.

我对这些说明符的了解,(主要来自linklink_2)

open意味着类和类成员可以在定义模块(目标)的内部和外部进行子类化和覆盖.

fileprivate将实体的使用限制在其定义的源文件中.基本上可以通过单个文件中的多个类访问.

私人将实体的使用限制在其附件声明中.

现在,公众和内部对我来说几乎是一样的: –

public意味着类和类成员只能在定义模块(目标)中进行子类化和重写.

internal允许实体在定义模块(目标)中使用.此外,如果没有提到其他内容,这恰好是认说明符.在定义应用程序或框架的内部结构时,我们通常会使用内部访问.

那么基本上公共和内部有何不同?

这是我的第一个问题,如果我错过了任何细节,请告诉我.提前致谢.

无论您标记为公共,都可以在您的应用程序内以及您的应用程序(模块)之外使用.如果您将某些内容标记为内部,只能在您的应用(模块)中使用.这对于开发库(框架)非常有用,可以使用内部隐藏库结构. A.swift和D.swift的公共成员可以使用C.swift和D.swift.唯一的限制是类不能被子类化(它们需要打开.) – 我的答案基于@Keaz& @Alexander.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐