Objective-C中類和對象的介紹

來源:互聯網
上載者:User

標籤:

知識點

1.類的介紹

  類是對象的類型,對象是類型的執行個體。

  執行個體變數:用來區分同一類的不同對象,是描述對象用的。執行個體變數可以是各種類型:基礎資料型別 (Elementary Data Type)、指標、複合類型、其他類。

  執行個體方法:用來操作一個類的對象的函數,執行個體方法是給外部的提供者。

  在OC中,使用#import包含標頭檔。防止標頭檔被重複包含。

2.類的聲明

  @interface className:parentClass<protocol,..>

  {

  •   //執行個體變數的聲明

  }

  method declarations //方法的聲明

  @end

3.方法的聲明:

  mType(returnType)name:(type)param name1:(type1)param1….

  方法類型 傳回值類型 標籤名 參數類型 參數與名字

  例子:-(id)initWithX:(int)_x andY:(int)_y;

    • +(int)allNum;

  對象方法:-號開頭,只能由對象來調用,對象方法中能訪問當前對象的執行個體變數。

  類方法:+號開頭,只能由類來調用,類方法中不能訪問執行個體變數。

4.訊息機制

  OC中發送訊息的一般格式:[receiver message];

  [執行個體對象 執行個體方法];

  [類    類方法];

5.屬性聲明

  聲明property的文法為:@property(參數1,參數2) 類型 名字;

  例子:@property(nonatomic, retain) Circle *circle;

  其中參數主要分為三類:

  讀寫屬性:(readwrite/readonly)

  setter語意:(assign/retain/copy/strong/weak)

  原子性:(atomic/nonatomic)

  各參數意義如下:

  readwrite:產生setter/getter方法;

  readonly:只產生getter方法;

  assign:預設類型,setter方法中執行個體變數直接賦值,不進行retain操作,主要操作基礎資料型別 (Elementary Data Type)。

  retain:淺拷貝,對對象的記憶體位址的複製,讓目標對象指標和來源物件指向同一片記憶體空間。

  copy:深拷貝,拷貝對象的具體內容到一塊新開闢的空間。

  strong:arc中的新屬性,類似retain,多個指標指向同一塊記憶體時,只要有一個指向該記憶體,那麼記憶體就不會被釋放。

  weak:arc中的新屬性,類似assign,多個指標指向同一塊記憶體時,只要有一個不指向該記憶體,那麼記憶體就會被釋放。

  nonatomic:禁止多線程,提高效能。

  atomic:在使用多線程時,為了防止兩個線程相互等待對方導致死結,用atomic,但是會消耗一定資源。

 

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.