首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Objective-C 訪問控制完整指南:@public、@protected、@private 差異詳解

     編輯:關於C語言

實例變量訪問控制指令

Objective-C 在定義類時,提供三種訪問控制指令修飾實例變量,語法如下:

@interface Test : NSObject {
    
    @public
    int i;
    int j;
    
    @protected
    float m;
    float n;
    
    @private
    double x;
    double y;
    
}

三種訪問級別詳細對比

指令訪問範圍說明
@public該類方法、子類方法、其他類方法均可直接訪問完全開放,類似 C++ public
@protected該類方法、子類方法可直接訪問默認級別,類似 C++ protected
@private僅該類內部方法可直接訪問子類不可直接訪問,類似 C++ private

實戰注意事項

⚠ Xcode 編譯器警告:雖然直接訪問 @private 變量在運行時能正常執行,但 Xcode 會發出警告。建議通過屬性或方法間接訪問,保持封裝性。

最佳實踐建議

  1. 優先使用 @private:將實例變量默認設為私有,通過 @property 暴露必要接口
  2. 謹慎使用 @public:破壞封裝,僅在極少數性能敏感場景考慮
  3. 善用 @protected:為子類預留擴展空間,但避免濫用
  4. 現代寫法推薦:配合 @property、@synthesize 或自動合成,通過 getter/setter 統一管理訪問邏輯

對比總結

Objective-C 的訪問控制機制與 C++ 高度相似,但作用於實例變量而非方法。方法默認均為公開(可通過分類或協議實現私有方法模擬)。理解這三個指令的邊界,是編寫健壯、可維護 Objective-C 代碼的基礎。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved