• <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 閱讀(142) 評論(0)  編輯 收藏 引用 所屬分類: objective-c
            99久久久精品| 久久久亚洲欧洲日产国码是AV| 国内精品综合久久久40p| 国产亚洲精品美女久久久| 国産精品久久久久久久| 久久人人爽人人爽人人爽| 亚洲国产美女精品久久久久∴| 久久久精品久久久久久| 69国产成人综合久久精品| 色综合合久久天天综合绕视看| 亚洲AV无码1区2区久久| 久久精品中文字幕久久| 伊色综合久久之综合久久| 久久久99精品成人片中文字幕| 亚洲中文字幕无码久久2020 | 久久青青草原综合伊人| 久久久久亚洲AV成人网人人网站 | 久久久久久久久久久精品尤物| 久久国产免费观看精品3| 久久精品国产99国产精品亚洲 | 亚洲综合精品香蕉久久网| 国产精品欧美亚洲韩国日本久久 | av无码久久久久久不卡网站| 一本久久a久久精品综合香蕉| 久久亚洲电影| 国产精品免费久久久久久久久| 久久无码人妻一区二区三区| 久久精品国产亚洲77777| 伊人久久无码精品中文字幕| AA级片免费看视频久久| 国产午夜精品理论片久久影视| 日本免费久久久久久久网站| 欧美一区二区三区久久综| 亚洲va国产va天堂va久久| 狠狠综合久久AV一区二区三区| 免费无码国产欧美久久18| 亚洲精品乱码久久久久久| 漂亮人妻被中出中文字幕久久 | 97精品久久天干天天天按摩| 91精品国产高清91久久久久久| 狠狠久久亚洲欧美专区|