天天看點

Objective-C基礎之權限修飾符private, protected和public

Objective-C基礎之權限修飾符private, protected和public

下面是對于權限修飾符的幾點了解:

     1. 權限修飾符是用來修飾執行個體變量的,用來控制執行個體變量的通路權限;      2. 在程式中,如果不進行設定,則預設是@protected;      3. 盡量不要把執行個體變量聲明為@public,因為這樣會破壞封裝性;      4. @private修飾的執行個體變量是私有的執行個體變量(屬性)不會被子類繼承,也就不能被通路;      5. 除了上面三個修飾符,還有@package,它修飾的屬性,隻能在目前架構中才能被通路,用的比較少;      6. OC中的方法沒有權限修飾符一說,如果要定義私有方法,則隻需在.m檔案中實作,但不需在.h檔案中聲明,但也不算真正私有,如果其他地方要強行調用還是能調用到的,可以說,OC中的私有方法隻是一種約定而已,在文法上沒有真正的私有方法,不過在非開源的架構中還是有作用的;      7. OC中可以在.m檔案中采用以下方式模仿私有方法,變相地限制其他地方調用:

static void privateFun() {
         NSLog(@"privateFun方法是私有的.");
     }
           

           權限劃 分如下:

 修飾符  類内部  子類  任何地方
 private YES
 protected YES YES
 public YES YES YES