OC语言--OC语言基础、类
一、OC語言基礎
1>OC文件的擴展名為.m、.c; 2>OC語言完全兼容C語言,即OC語言中可以寫C語言; 3>OC語言也可以寫C++語言,但是如果要寫C++語言,則OC文件擴展名為.mm; 4>OC語言是在C語言的基礎上增加了最小層的面向?qū)ο笳Z言;二、OC語言與C語言
三、 <#import Foundation/Foundation.h>
1.#import 與#include:
2.Foundation/Foundation.h
1>Foundation表示是Foundation框架,Foundation.h成為Foundation框架中的主頭文件,此文件中包含了框架中所有其他頭文件;2> 主頭文件:最主要的頭文件,名字一般跟框架名稱一樣,包含了框架中的所有其他頭文件*四、 OC文件終端運行過程
1> 編寫OC源文件:.m、.c 2> 編譯:cc -c xxx.m xxx.c 3> 鏈接:cc xxx.o xxx.o -framework Foundation (只有用到了Foundation框架才需要加上-framework Foundation) 4> 運行:./a.out五、OC的BOOL類型
1>BOOL類型其實是char類型,如下:Typedef signed char BOOL 2>BOOL類型中的YES和NO是宏定義,將1、0強制轉(zhuǎn)換成BOOL類型: #define Yes (BOOL)1 #define NO (BOOL)0類
OC語言面向?qū)ο笳Z言,C語言是面向過程語言,面向?qū)ο笳Z言中包含兩個重要的概念:類和對象。OC利用類來創(chuàng)建對象,對象是類的具體存在。
一、類的設計:
類由類名、屬性和行為構(gòu)成。
二、完整的類:
類在內(nèi)存中只有一份存儲空間,在第一次調(diào)用類的時候,內(nèi)存分配存儲空間給類,類中只存放方法列表三、類的聲明:
1>類的聲明中包含類的屬性和行為;
2>類的屬性也稱為類的成員變量(實例變量),寫在大括號中;
3>類的行為也稱為類的方法,寫在大括號外邊,格式:- (返回值類型)方法名:(參數(shù)類型)參數(shù)名1:(參數(shù)類型)參數(shù)名2,例如- (void)test; -(int)pow2:(int)num;
4>類的聲明格式:
@interface 類名 : NSObject //NSObject目的是:讓Car這個類具備創(chuàng)建對象的能力
{ @public //@public可以讓外部的指針間接訪問對象內(nèi)部的成員變量
類的屬性1;
類的屬性2;
…
}
(void)類的行為名稱;
(返回值類型)類的行為名稱:(參數(shù)類型)參數(shù);
@end //@interface和@end成對出現(xiàn)
示例:
類的聲明注意事項:
四、類的實現(xiàn):用來實現(xiàn)@inteface中聲明的方法
類的實現(xiàn)格式:
例如:
五、Main函數(shù)中類的應用
1>在OC中,想執(zhí)行一些行為,就寫上一個中括號[行為執(zhí)行者 行為名稱] 2>創(chuàng)建出一個新對象后會返回新對象本身(新對象的地址) 3>利用類來創(chuàng)建對象六、類的設計完整代碼示例:
類的設計常見錯誤:
OC方法常見錯誤
1>方法只有聲明,沒有實現(xiàn)(經(jīng)典錯誤) 2>方法沒有聲明,只有實現(xiàn)(編譯器警告,但是能調(diào)用,OC的弱語法) 3>編譯的時候:訪問沒有的成員變量直接報錯,訪問沒有的方法,只是警告七、函數(shù)與方法
1.對象方法都是以減號 - 2.對象方法的聲明必須寫在@interface和@end之間對象方法的實現(xiàn)必須寫在@implementation和@end之間3.對象方法只能由對象來調(diào)用4.對象方法歸類\對象所有函數(shù)
1.函數(shù)能寫在文件中的任意位置(@interface和@end之間除外),函數(shù)歸文件所有2.函數(shù)調(diào)用不依賴于對象3.函數(shù)內(nèi)部不能直接通過成員變量名訪問某個對象的成員變量總結(jié)
以上是生活随笔為你收集整理的OC语言--OC语言基础、类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AD17 保存PCB文件时提示失败
- 下一篇: android仿ios录音动画,仿IOS