OC 基礎語法

2021-09-08 10:33:39 字數 3040 閱讀 1376

1

:obect c 與 c 語言的區別(1

) 字尾名不一樣,c語言是.c 結尾 ,oc 是 .h結尾。(2

) 輸出資訊不同 c語言是用print() 輸出,oc 是用nslog輸出。(3

) nslog會自動換行,並且還有時間戳輸出,二print沒有(4

) 匯入宣告[檔案]不一樣 oc 是用import,而c語言是用include

2: import和 include的區(1

) import只匯入一次乙個檔案就不會重複匯入,include 可以重複匯入同乙個檔案

3:oc建立類的語法(1

) 類的宣告

@inte***ce

one[類名]: nsobject

#這裡寫方法的宣告 oc中方法的宣告

1:物件方法以 『-』 號 開頭 2

:資料型別一定要用小括號括住 3

:oc方法中的小括號就乙個作用 ,就用來括住資料型別

無引數宣告方法格式如: -(返回型別) 方法名;

- (void) tets1; //

宣告乙個無引數無返回型別的方法

-(int ) test2; //

宣告乙個無引數有返回型別為int 型別的方法

有引數宣告方法格式[注意點冒號也是方法名的一部分]:

- (返回型別) 方法名:(引數型別 *)引數名稱

-(void) test3 :(char *)nub;

-(void) test4(char *)nub1 :(char *)centen; //

多個引數 以 : 相間隔

@end

//宣告結束

(2) 類的實現

@implementation

one[類名]

#這裡寫實現方法的宣告 格式跟函式的宣告乙個

實現格式如:

(1)無引數

-(void

) test1(2

) 有引數

-(void)test3:(char *)nub

-(void)test4:(char *)nub :(char *) coent

@end(3

) 類的例項化和呼叫方法屬性

int main(

int argc, const

char *ar**)

4:oc語言的注意點

1.只有類的宣告沒有實現

2.缺少@end

3.不能把實現寫到宣告中同理,宣告也不能寫到實現中,不能巢狀

4.不能把類的宣告實現寫到函式中

5.成員變數必須寫到宣告的大括號中

6.宣告成員變數不能直接賦值

7.oc的弱語法:注意,沒有宣告同樣可以定義乙個類,(實際開發中千萬不要這樣幹)

/*f 經典錯誤:

'-[person run]: unrecognized selector sent to instance 0x100103410'

沒實現這個方法的經典錯誤。

*/5:oc 中字串的使用(1

) 建立乙個簡單的字串並輸出

nsstring *str1=@」我是字串1」;

nslog(@「%@」,str1);(2

) 字串格式化

nsstring *str2=[nsstring stringwithformat:@」身高%d,體重%.2f」,sg,tz]

nslog(@」%@」,str2);(3

) 計算個數

nsstring *str3=@」我是中國人」;

int count=[str length];

6:類方法與物件方法 (1

)物件的方法是與 減號 開頭 類的方法是以 加號開頭(2

)物件的方法呼叫方式[是以物件去呼叫方法]

test1 *p=[test1 new

]int sum1=[p nb1:10 nb2:20];(

3)類的方法呼叫方式[是以類名呼叫方法]

int sum2=[test nb1:10 nb2:20];(

4) 當方法不使用成員變數的時候就盡量使用類方法[少開闢空間,節省記憶體](5

) 類方法不能訪問成員變數[實力變數 也就是物件]

7:繼承 (

1) 子類繼承了父類的成員變數和方法(2

) new方法是父類中繼承過來的(3

) 如果在子類中實現了和父類中同名同型別的方法,我們稱之為重寫(4

) 在繼承當中呼叫方法,首先會在本類中找,如果本類沒有找到就去父類中找(5

) 在子類中不僅可以重寫父類當中的物件方法,也可以重寫父類當中的類方法

(6) 子父類中的方法呼叫順序:現在本類中找,如果本類沒有再到父類中找,如果父類中沒有,就到爺爺類中找 nsobject是99.9%的類的父類

(7) oc 不支援多繼承[也就是說只有乙個父類] 支援多層繼承 [父->子->孫]

8:多型 (

1) 什麼是多型:多型就是某一類事物的多種形態(2

) 沒有繼承就沒有多型(3

) 用父類型別的指標指向了子類物件,這就是多型

9: oc訪問成員變數格式

(1) 類名 *p=[類名 new

]p->屬性=值;

(2)p.屬性=值;

10:成員變數的作用域

public:公共的 在其他資料夾中也可以訪問

private:私有的 在其他檔案下不能訪問 只是在本類中使用。

protected 受保護的 在其他資料夾中不能訪問 在本類中可以訪問

11:自動設定get/set

屬性

@synthesize

屬性 ;[在類的實現中寫,前提是你已經宣告了這個屬性]

12: protected

作用

自動生成get/set 屬性 格式:@public

int _no;

oc基礎語法 oc特有語法(1)

1 根據以前學的,呼叫方法是這樣的 student stu student new stu setage 100 int age stu age 如果用點語法,這樣就可以呼叫了 stu.age 100 int age stu.age 2 點語法的本質 其實點語法的本質還是方法呼叫,當使用點語法時,編...

OC基礎語法 2

oc當中塊的思想 塊是c,objective c和c 等程式語言中的高階功能,它允許建立不同的 段,這些 段可以傳遞給方法或函式,就像它們是值一樣。塊是objective c物件,因此它們可以新增到nsarray或nsdictionary等集合中。它們還能夠從封閉範圍中捕獲值,使其類似於其他程式語言...

語法基礎 簡單的oc程式

作為菜鳥不知道從 找到的一些資料先寫下,先介紹一些oc語言的一些特點。1 在c語言的基礎上,增加了一層最小的物件導向語法 2 完全相容c語言 3 可以在oc 中混入c語言 甚至是c 4 可以使用oc開發mac os x平台和ios平台的應用程式 首先,要執行乙個oc程式必須經過原始檔經過編譯成目標檔...