黑馬程式員——OC與C語言的異同比較

來源:互聯網
上載者:User

標籤:

 
1.  檔案介紹:Objective-C 也使用標頭檔(header files),尾碼為 .h, 但使用 .m(即 message, 其他物件導向程式設計語言也叫 method),作為源檔案的尾碼。 
                  在objective-c中使用#import<>,而不使用#include<>,#import可以保證標頭檔只被包含一次。 
2. 與C一致的地方: 資料類型,運算式,各種運算子 
   迴圈:for, while, do while, break, continue 分支:if, else, switch 
3.NSlog()函數:與printf()類似,想控制台輸出資訊。但它增加了一些特性,如時間戳記等。 【cocoa對起所有的函數,常量和類型名稱都添加了NS首碼。】 
4.雙引號的前面的@表示這雙引號中的字串應該作為cocoa的NSString元素來處理。 

5.布爾類型BOOL:值為YES,NO; 

6.%d表示輸出整數%@表示輸出NSString類型 %s表示輸出字串數組(char*); 

7.    objective-c中的方括弧: 1.       用於通知某個對象該做什麼。 
                                        2.       方括弧內第一項是對象,其餘部分是你需要對象執行的操作。 
                                        3.       在objective-c中通知對象執行某種操作,稱為發送訊息。(也叫調用方法)

 8. 標識符id:是一種泛型,用於表示任何種類的對象。 

9. 類聲明@interface: 

@interface Circle:NSObject   //為Circle類定義介面;NSObject表示是父類。

{//以下是資料成員    

ShapeColor fillColor;    

ShapeRect bounds; 

//以下是方法聲明 

-(void) setFillColor: (ShapeColor) fillColor;  // 前面的短線表明這是方法聲明//短線後面是方法的傳回型別//接著是方法名 

                                               // 冒號後面是參數,其中(ShapeColor)是參數類型, fillColor是參數名 
-(void) setBounds:(ShapeRect) bounds; -(void) draw; // 減號就是普通函數 加號就是靜態函數 @end     //結束聲明 

objective-c看到@符號,就把它看成是C語言的擴充。 一個類的完整聲明如下: 
    @interface CClassA(Category): CBaseClass<IA,IB...> //類名(類別名):父類<協議> 
10. 類實現@implementation 


@implementation @implementation Circle 
-(void) setFillColor: (ShapeColor) c 


   fillColor=c; 


-(void) draw 

    NSLog(@”drawing a circle at(%d %d %d %d) in %@”, 

bounds.x,bounds.y,bounds.width,bounds.height,colorName(fillName)); 

@end 


隱藏對象self對應於C中的this。 Self->fillcolor來訪問成員變數。 
11. 調用寫好的類和類函數: 
//建立新對象,使用預設初始化函數 
    Bank *bankDefault = [[Bank alloc] init]; //調用方法: 
    [bank addAmount: 1]; [bank print]; // 釋放對象: 
    [bankDefault free];  
12. 
兩個參數的方法: 
-(void) setTire: (Tire *) tire  //聲明 

   atIndex: (int) index; 

//使用 

[car setTire:tire atIndex:2];

http://www.itheima.com/

黑馬程式員——OC與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.