成員變量、實例變量、屬性


@interface  MyViewController :UIViewControlle

{

    

    UIButton *yourButton;

    int count;

    id data;

}

@property(nonatomic, strong) UIButton *myButton;

@end

 

 

{ }中所聲明的變量都為成員變量。 所以yourButtoncountdata都是成員變量。既然如此,實例變量又是什么意思呢?實例變量本質上就是成員變量,只是實例是針對類而言,實例是指類的聲明。{ }中的yourButton就是實例變量id 是OC特有的類,本質上講id等同於(void *)。所以id data屬於實例變量

成員變量用於類內部,無需與外界接觸的變量。因為成員變量不會生成set、get方法,所以外界無法與成員變量接觸。根據成員變量的私有性,為了方便訪問,所以就有了屬性變量。屬性變量的好處就是允許讓其他對象訪問到該變量(因為屬性創建過程中自動產生了set 和get方法)。當然,你可以設置只讀或者可寫等,設置方法也可自定義。所以,屬性變量是用於與其他對象交互的變量。

綜上所述可知:成員變量是定義在{}號中的變量,如果變量的數據類型是一個類則稱這個變量為實例變量。因為實例變量是成員變量的一種特殊情況,所以實例變量也是類內部使用的,無需與外部接觸的變量,這個也就是所謂的類私有變量。而屬性變量是用於與其他對象交互的變量。

但是,現在大家似乎都不怎么喜歡用成員變量來定義類的變量,都喜歡用屬性變量來定義類的變量。把需要與外部接觸的變量定義在.h文件中,只在本類中使用的變量定義在.m文件中。

可以看到在接口 @interface括號里面的統稱為”成員變量”,實例變量是成員變量中的一種!

除去基本數據類型int float ....等,其他類型的變量都叫做實例變量。

實例變量+基本數據類型變量=成員變量



作者:th先生
鏈接:https://www.jianshu.com/p/a3c2747866c2
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM