Objective-C學習之旅 第三篇

來源:互聯網
上載者:User

標籤:

Objective-C學習之旅 第三篇 Objective-C 類聲明,定義,執行個體,初始化
  1. 類聲明
    //類聲明的編譯處理指示以@interface開始,以@end結尾,在這之間代碼便是類變數的定義和方法的聲明。//類的聲明和定義比其他語言複雜,這會讓剛開始學習Objective-C的人非常困惑//準確的說,其他語言如Java只需定義類而不用聲明,而Objective-C需要先聲明再定義。@interface 類名 : 父類名 {    聲明成員變數    ...}聲明方法@end

    執行個體:

    @interface TestCoop : NSObject {//聲明成員變數    int iMonth;    int iYear;    int iDay;}//聲明方法- (void) setYear: (int) iYear;- (void) primalSetData: (int)iYear :(int)iMonth :(int)iDay;- (void) setData: (int)Year iMonth:(int)iMonth iDay:(int)iDay;- (void) displayDateInfo;@end/*說明:   前面的短線/- 表示這是Objective-C方法的聲明,用來區分函數原型(C語言中)與(Objective—C中)方法聲明的方式。   短線後面是方法的傳回型別/比如( void) ,位於圓括弧中。   符號"+"的意思是,該方法是objective-c類方法   符號"-"的意思是,該方法是objecitve-c執行個體方法.*/

     

     

  2. 類實現
    //Objective-C將類的聲明和定義完全分開,在類的聲明中,只能定義執行個體變數和方法名及類型,//具體的實現要用到@implementation這個編譯處理指示中進行。@implementation 類名執行個體方法定義...@end

    執行個體:

    @implementation TestCoop- (void) displayDateInfo{    NSLog(@"Today is: %d.%d.%d\n", iYear, iMonth, iDay);}//注意:類的方法實現部分函數參數不能和聲明部分一樣,就是不能和類變數同名,否則會隱藏初始變數。//比如下面的參數“year”就不能和聲明的中的“iYear”一樣- (void) setYear: (int) year{    iYear = year;}- (void) primalSetData: (int)year :(int)month :(int)day{    iYear = year;    iMonth = month;    iDay = day;    }- (void) setData: (int)year iMonth:(int)month iDay:(int)day{    iYear = year;    iMonth = month;    iDay = day;}

     

  3. 執行個體化對象
    int main (int argc, const char * argv[]) {    @autoreleasepool {         // insert code here...        //NSLog(@"%d-,%s %@\n", 12, "hel123lo", @"123");        TestCoop *ptest = [TestCoop new];         [ptest primalSetData :2009 :03 :05];        [ptest displayDateInfo];        [ptest setData:2010 iMonth:06 iDay:06];        [ptest displayDateInfo];        [ptest setYear:1987];        [ptest displayDateInfo];   }        return 0;}

     

  4. 類的初始化
    //cocoa習慣使用alloc和init來建立對象,而不是new//使用alloc來分配記憶體,並使用init來初始化,會將這塊記憶體全部清0,bool型為NO,int型為0,指標為nil//上面的建立對象代碼改成如下:TestCoop *ptest = [[TestCoop alloc] init];

     

     

     

Objective-C學習之旅 第三篇

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.