《黑馬程式員》類和對象(Objective - c)

來源:互聯網
上載者:User

標籤:

一、類和對象的概念

     OC中有兩個很關鍵的概念就是類和對象,類和對象的關係就如同模具和用這個模具製作出的物品之間的關係。一個類為它的全部對象給出了一個統一的定義,而他的每個對象則是符合這種定義的一個實體,因此類和對象的關係就是抽象和具體的關係。

建立對象:
建立對象需要現有類,對象需表述清楚應該具備的屬性和功能(行為)  格式[行為執行者  行為名稱] 

建立類:

需關心三項條件:

事物名稱(類名):人(Person)

屬性:身高(height)、年齡(age)等

行為(功能):跑(run)、吃(eat)

 

註: 1.一般名詞都是類

      2.擁有相同(或者相似)屬性和行為的對象都可以抽象出來一個類

      3.類名的第一個字母必須大寫;

      4.不能有底線,如果有多個英文單片語成,用駝峰標示

      5.那個行為哪個類最清楚,就把這個行為設計到那個對象裡

二、類的聲明與實現
  • 完整的寫一個類/函數,需要兩個步驟,類的聲明和實現(定義)
  • 類的聲明:

@interface  類名

例:

@interface  Car

{

  // 這裡聲明對象的屬性

}

    // 這裡聲明一些行為(方法)

@end

  • 類的實現:

@implementation 類名

   // 這裡是一些方法的實現

@end

例:

@implementation Car

 // 方法的實現

@end

代碼練習(類的建立與實現):

// oc中的 NSObject聲明在<Foundation/Foundation.h>中
#import <Foundation/Foundation.h>// 類名:Car// 屬性:輪胎個數 wheels 、速度 speed// 方法:跑// 定義一個函數:需要函數的聲明和實現// 定義一個類: 需要類的聲明和實現// 類的聲明// oc關鍵字自比須以@開頭,// 類名開頭的第一個字母必須以大寫字母開頭,如果有多個單詞每個單詞的開頭必須時大寫字母,要使用駝峰標示// NSObject表示使這個類具備建立對象的能力
//@interface用來聲明成員變數/執行個體變數,和對象方法。@interface Car: NSObject{ // @public可以讓外部的指標間接訪問成員變數 @public int wheels; int speed;}/* 1 oc對象方法必須以減號開頭。 2 對想方法的傳回值必須用括弧括住。 3 方法的聲明規則:(傳回值)方法名:參數 4 oc方法中括弧只括住資料類型 */-(void)run;@end// 類的實現:@implementation Car// 方法的實現:說清楚聲明中的方法-(void)run{ NSLog(@"這輛車跑起來了");}@endint main(int argc, const char * argv[]){ // oc中只能通過類來建立對象 // 在oc中想要只想一些行為就先寫一個[行為執行者 行為名稱] // oc中建立的對象只能通過指標來操作 // [Car new]每次都會建立一個新對象,並且會返回新對象本身(對象的地址) Car *p = [Car new]; // 通過指標來訪問成員變數 // 給p指向的類的wheels屬性賦值4, // 給p指向的類的speed屬性賦值為300; p -> wheels = 4; p -> speed = 300; // 給p指向的類發送一條run訊息,來調用run方法的實現。 [p run]; // 要訪問類內部的成員變數必須使用指標來訪問 NSLog(@"輪胎個數 = %d,速度為= %d",p ->wheels,p ->speed); return 0;}

 

●  成員變數和屬性必須寫在@interface 和 @end中間。

●   成員變數不允許初始化 。

●   成員變數不允許使用static修飾 。

●    類的實現可以寫在mian函數後面,但是聲明必須寫在main函數前面進行聲明。

《黑馬程式員》類和對象(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.