• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            f(sixleaves) = sixleaves

            重劍無鋒 大巧不工

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              95 隨筆 :: 0 文章 :: 7 評論 :: 0 Trackbacks
             1 #import <Foundation/Foundation.h>
             2 
             3 @interface Car : NSObject
             4 {
             5 
             6 }
             7 
             8 @property int speed;
             9 @property int wheels;
            10 
            11 @end
            12 
            13 @implementation Car
            14 
            15 // 第一步簡化:不用寫成員變量。(使用synthesize自動生成)
            16 // @synthesize會訪問_speed成員變量,如果不存在,則自動生成_speed的成員變量。
            17 @synthesize speed;  // 說明了synthesize默認訪問的speed,所以會生成speed成員變量。
            18 @synthesize wheels = _wheels; // 已經指定了setter、getter訪問的成員變量,所以如果沒有,會自動生成。
            19 
            20 @end
            21 
            22 
            23 int main() {
            24     
            25     Car *c = [Car new];
            26     c.speed = 10;
            27     
            28     return 0;
            29 }
            30 
            31 // 最簡化寫法:
            32 /*
            33  總體總結
            34  ======================================================================================
            35  @property的基本作用:
            36     自動生成getter、setter的聲明。
            37  
            38  @synthesize的基本作用:
            39     自動生成getter、setter的實現。
            40  
            41 
            42  @synthsize的2個使用細節:
            43  
            44     @synthesize age的使用細節:
            45     1.自動訪問age成員變量
            46     2.如果age不存在,則自動生成@private的成員變量age;
            47 
            48     @synthesize age = _age;
            49     1.會自動訪問_age成員變量
            50     2.如果_age成員變量不存在,會自動生成私有的_age成員變量。
            51  ===================================================================
            52  @property新特性的作用(主要做了三件事):
            53  1.生成帶下劃線的私有成員變量。
            54  2.按照屬性名生成相應的setter與getter
            55  3.自動生成setter與getter實現(或者說是自動生成簡化的第一步)。
            56  
            57  @property新特性注意事項:
            58  大原則:有的就不生成、沒有的才自動生成。
            59  
            60  1.你有定義的setter、getter則不自動生成,沒有的話,才會自動生成。
            61  
            62  2.如果setter和getter都自定義了,那么則不會再自動生成setter、getter。包括帶下劃線的成員變量,所以這句話,相當于是廢的。
            63  分析:因為自動生成setter、getter就是為了給成員變量使用,如果不自動生成,那么也就沒必要自動生成私有的成員變量。
            64  
            65  3.如果想要不是私有的成員變量,那么可以自己定義。 再使用@property,此時如果存在這個成員變量,
            66  它就不會再自動生成,其作用域也就不是固定的私有,而是自己定的。
            67  */
            posted on 2015-05-01 23:14 swp 閱讀(145) 評論(0)  編輯 收藏 引用 所屬分類: objective-c
            久久亚洲精品无码AV红樱桃| 久久久久夜夜夜精品国产| 伊人久久精品影院| 久久久久国产精品熟女影院| 99久久人人爽亚洲精品美女| 一本一本久久a久久精品综合麻豆| 久久无码国产专区精品| 国产精品内射久久久久欢欢| 久久久久久久精品妇女99| 精品乱码久久久久久夜夜嗨| 久久WWW免费人成一看片| 777米奇久久最新地址| 久久久久久免费视频| jizzjizz国产精品久久| 久久久久久免费视频| 日本欧美国产精品第一页久久| 久久久久久免费一区二区三区| 久久久www免费人成精品| 久久精品二区| 久久国产免费| 91性高湖久久久久| 久久亚洲国产欧洲精品一| 亚洲中文字幕无码久久精品1| 欧美精品福利视频一区二区三区久久久精品 | 丁香五月综合久久激情| 伊人久久大香线蕉AV色婷婷色 | 久久精品国产亚洲7777| 99热成人精品免费久久| 精品精品国产自在久久高清| 日韩人妻无码一区二区三区久久 | 国产精品一区二区久久精品无码| 久久99精品国产麻豆| 久久精品国产亚洲精品2020| 中文字幕久久精品无码| 午夜欧美精品久久久久久久| 亚洲AV日韩精品久久久久久久| 亚洲精品无码久久久久去q| 99久久国产宗和精品1上映| 久久久久久亚洲Av无码精品专口| 欧美一区二区三区久久综合| 久久精品人人做人人爽97|