Swift访问权限:open、public、internal、fileprivate、private

Swift3.0中访问权限顺序

在Swift3.0中,权限的访问顺序为:open> public > interal > fileprivate > private。

Swift3.0中访问权限的范围

open(范围是跨module)

open修饰的类在其它module中可以被继承;
open修饰的方法在其它module中可以被访问,可以被子类override;
open修改的变量在其它module中可以被访问

public(范围是跨module,但有限制)

public修饰的类在其它module中可以被访问,但不能被继承
public修饰的方法在其它module中但可以被访问,但不能被override
public修饰的变量在其它module中可以被访问

interal(缺省级别,范围是module内)

interal修饰的类在同一module中可以被继承;但在其它module中不能被访问;
interal修饰的方法在同一module中可以被访问,可以被子类override;但在其它module中不能被访问;
interal修饰的变量在同一module中可以被访问;在其它module中不能被访问;

fileprivate(范围是同一源文件)

fileprivate修饰的类在同一源文件中可以被继承
fileprivate修饰的方法在同一源文件中可以被访问,可以被子类override
fileprivate修饰的变量在同一源文件中可以被访问

private(范围是同一源文件,但有限制)

private修饰的类在同一源文件可以被访问;但不能被继承
private修饰的方法不能被访问
private修饰的变量在不能被访问

欢迎纠错

初次总结Swift的访问权限,如果有地方不对,还请大家指正~

你可能感兴趣的:(Swift访问权限:open、public、internal、fileprivate、private)