OC基础学习:访问修饰符

用来修饰属性,可以限定对象的属性在那一段范围之中访问。

@private : 私有,被其修饰的属性只能在本类的内部访问。
@protected: 受保护的 被其修饰的属性只能在本类以及本类的子类中访问。只能在本类和子类的方法实现中访问。
@package: 被其修饰的属性,可以在当前框架中访问。
@public: 公共的,被其修饰的属性可以在任意地方访问。

  • 如果不为属性指定访问修饰符 默认:protected
    子类仍然可以继承父类的私有属性。就算父类的属性是private,只不过在子类当中无法直接访问从父类继承过来的私有属性,可以通过set get方法来访问。

  • 访问修饰符只能用来修饰属性,不能用来修饰方法。

  • 访问修饰符的作用域
    从写访问修饰符的地方开始往下,直到遇到另外一个访问修饰符的或者结束大括弧为止,中间的所有的属性都应用这个访问修饰符。

  • 使用建议
    @public 无论什么情况下都不要使用,属性不要直接暴漏给外界。
    @private 如果属性只想在本类中使用,不想再子类中使用。
    @protected 如果你希望属性只在本类和本类的子类中使用。

description 方法

description方法是定义在NSObject之中的。我们通过重写description方法来修改NSLog的输出形式。NSLog的底层就是description方法。

你可能感兴趣的:(OC基础学习:访问修饰符)