Swift 3.0 的 open,public,internal,fileprivate,private 关键字

对于Func

类型 文件内 模块内 其他模块
open 可访问和重载 可访问和重载 可访问和重载
public 可访问和重载 可访问和重载 可访问,不可重载
internal 可访问和重载 可访问和重载 不可访问和重载
fileprivate 可访问和重载 不可访问和重载 不可访问和重载
private 不可访问和重载 不可访问和重载 不可访问和重载

final修饰的 func 任何地方都不能被 重载
func默认使用internal

对于Class

类型 文件内 模块内 其他模块
open 可访问和继承 可访问和继承 可访问和继承
public 可访问和继承 可访问和继承 可访问,不可继承
internal 可访问和继承 可访问和重载 不可访问和继承
fileprivate 可访问和继承 不可访问和重载 不可访问和重载
private 可访问和继承 不可访问和重载 不可访问和重载

1.文件内fileprivate修饰的class,继承的子类也必须是fileprivate
2.fileprivate和private在修饰class时,作用是相同的

final修饰的 func 任何地方都不能被 重载
class默认使用internal

你可能感兴趣的:(Swift 3.0 的 open,public,internal,fileprivate,private 关键字)