美文网首页
访问权限

访问权限

作者: codermali | 来源:发表于2017-10-29 15:13 被阅读7次

    swift

    swift中访问权限是基于模块,源文件,这三个概念

    • internal:默认.在本模块中(一个target就是一个模块)都可以进行访问;子类可以继承.
    • private:当前类私有;子类不可以继承.
    • fileprivate:在当前源文件中可以访问;子类不可以继承.
    • public:在同一个模块内,类似于internal.在不同的模块中,如果是修饰类,可以访问,子类不可以继承;如果修饰方法,可以访问,不能被重写(overwirte)
    • open:在同一个模块内,类似于internal.在不同的模块中,如果是修饰类,可以访问,子类可以继承;如果修饰方法,可以访问,可以被重写(overwirte)

    作用域只有一行,一般写作

    internal var a : Int;
    private var b : Int;
    fileprivate var c : Int;
    public var d : Int;
    open var e : Int;
    

    Objective-C

    OC中权限和swift不一样,这些关键字只能作用于成员变量,不能作用于方法和类.如果不想让外部文件访问,那么就将成员变量定义在.m文件中(默认为@public);如果想让外部文件访问,那么就将成员变量定义在.h文件中(默认为@private).

    • @protected:默认.只能在当前类中访问;子类可以继承.
    • @private:只能在当前类中访问;子类不能继承.
    • @public:在任何地方都可以访问.
    • @package:只能在当前包中使用.

    作用域:后面的所有的成员变量

    相关文章

      网友评论

          本文标题:访问权限

          本文链接:https://www.haomeiwen.com/subject/hxsypxtx.html