用來修飾屬性,可以限定對(duì)象的屬性在那一段范圍之中訪問。
@private: 私有,被其修飾的屬性只能在本類的內(nèi)部訪問。
@protected: 受保護(hù)的 被其修飾的屬性只能在本類以及本類的子類中訪問。只能在本類和子類的方法實(shí)現(xiàn)中訪問。
@package: 被其修飾的屬性,可以在當(dāng)前框架中訪問。
@public: 公共的,被其修飾的屬性可以在任意地方訪問。
如果不為屬性指定訪問修飾符 默認(rèn):protected
子類仍然可以繼承父類的私有屬性。就算父類的屬性是private,只不過在子類當(dāng)中無法直接訪問從父類繼承過來的私有屬性,可以通過set get方法來訪問。訪問修飾符只能用來修飾屬性,不能用來修飾方法。
訪問修飾符的作用域
從寫訪問修飾符的地方開始往下,直到遇到另外一個(gè)訪問修飾符的或者結(jié)束大括弧為止,中間的所有的屬性都應(yīng)用這個(gè)訪問修飾符。使用建議
@public 無論什么情況下都不要使用,屬性不要直接暴漏給外界。
@private 如果屬性只想在本類中使用,不想再子類中使用。
@protected 如果你希望屬性只在本類和本類的子類中使用。
description 方法
description方法是定義在NSObject之中的。我們通過重寫description方法來修改NSLog的輸出形式。NSLog的底層就是description方法。