• <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 Person : NSObject
             4 {
             5     int _age;
             6     @private
             7     int _fuck;
             8 }
             9 + (void)test;
            10 + (void)test1;
            11 - (void)test1;
            12 - (void)test;
            13 - (void)modify;
            14 - (int)age;
            15 @end
            16 
            17 @implementation Person
            18 + (void)test
            19 {
            20     [self test1];
            21 }
            22 + (void)test1
            23 {
            24     NSLog(@"Called Class Method test1");
            25 }
            26 - (void)test1
            27 {
            28     NSLog(@"Called Instance Method test1");
            29 }
            30 - (void)test
            31 {
            32     [self test1];
            33 }
            34 
            35 - (void)modify
            36 {
            37     self->_age = 10;
            38     self->_fuck = 20;
            39 }
            40 
            41 // error 編譯階段就會出錯。
            42 //+ (void)modify
            43 //{
            44 //    self->_age = 10;
            45 //}
            46 
            47 - (int)age
            48 {
            49     return _age;
            50 }
            51 
            52 - (int)fuck
            53 {
            54     return _fuck;
            55 }
            56 @end
            57 
            58 int main() {
            59     
            60     Person *p = [Person new];
            61     [p test]; // 輸出 Called Instance Method test1
            62     [Person test]; // Called Class Method test1.由以上兩句可知,self指向,其所在方法的調用對象(類也是個對象)。
            63     [p modify];
            64     
            65     int a = p.age;
            66     int f = p.fuck;
            67     NSLog(@"a = %d,f = %d", a, f);
            68     
            69     //[Person modify]; //錯誤,因為self指向的是類對象,而類對象本身并不存在_age這個成員變量。
            70     
            71     
            72     return 0;
            73 }
            74 
            75 /*總結:
                 self的作用:
            76  1.self指針能在對象方法中訪問對象的成員變量。(無論該成員變量的權限是private、protected、public都可以) 
                  2.self指針能調用類方法或對象方法,具體看self指向類對象還是實例對象。
                 self的編程思想:
                  1.在方法中想調用其他方法時候。
                  2.當成員變量與set方法的形參同名時候,如果不想改變成員變量名字。可以用self把成員變量和形參分開。

            77  self的使用注意:.self指針指向的是調用當前方法的對象。(類也是對象,叫做類對象)
            78  */
            posted on 2015-04-30 14:47 swp 閱讀(159) 評論(0)  編輯 收藏 引用 所屬分類: objective-c
            久久99久久99精品免视看动漫| 亚洲国产成人久久综合区| 97精品伊人久久久大香线蕉| 久久亚洲精品人成综合网| 国产一区二区三区久久| 欧美精品福利视频一区二区三区久久久精品 | 久久伊人五月天论坛| 老男人久久青草av高清| 国产69精品久久久久777| 久久伊人精品青青草原日本| 91精品国产综合久久久久久| 三级三级久久三级久久| 国産精品久久久久久久| 久久婷婷国产综合精品| 亚洲国产精品综合久久网络| 99久久国产热无码精品免费| 久久人人爽人人爽人人片AV麻烦 | 久久久久久久91精品免费观看| 久久久久高潮毛片免费全部播放 | 狠狠人妻久久久久久综合蜜桃| 久久精品人妻中文系列| 久久精品国产亚洲5555| 91久久精一区二区三区大全| 久久久久久久波多野结衣高潮 | 久久伊人影视| 99久久99久久精品国产| aaa级精品久久久国产片| 午夜久久久久久禁播电影| 亚洲精品WWW久久久久久| 久久精品无码免费不卡| 国内精品伊人久久久久影院对白 | 99久久精品免费看国产一区二区三区| 亚洲欧美伊人久久综合一区二区 | 精品免费久久久久国产一区| 99久久超碰中文字幕伊人| 69国产成人综合久久精品| 久久午夜无码鲁丝片| 久久精品国产亚洲精品2020| 亚洲精品乱码久久久久久蜜桃图片| 伊人久久精品影院| 精品国产99久久久久久麻豆|