OC1-OC面向對象新概念解釋及其面向對象編程

一.C語言主要是面向過程,OC中開始大量使用面向對象。對於在之後的問題中有了面向對象和麪向過程兩種思考模式。就五子棋而言,面向過程是具體操做步驟,設計思路就是首先分析問題的步驟:一、開始遊戲 ,二、黑子先走,三、繪製畫面,四、判斷輸贏,五、輪到白子,六、繪 制畫面,七、判斷輸贏,八、返回步驟2,九、輸出最後結果。把上面 每一個步驟用分別的函數來實現,問題就解決了;面向對象是玩家,棋盤,規則這三個對象,比較宏觀,面向對象的設計則是從另外的思路來解決問題。整個五子棋能夠 分爲 一、黑白雙方,這兩方的行爲是如出一轍的,二、棋盤系統,負 責繪製畫面,三、規則系統,負責斷定諸如犯規、輸贏等。第一類對 象(玩家對象)負責接受用戶輸 入,並告知第二類對象(棋盤對象 )棋子佈局的變化,棋盤對象接收到了棋子的i變化就要負責在屏幕 上面顯示出這種變化,同時利用第三類對象(規則系統)來對 棋局 進行斷定。
面向對象編程(Object-Oriented Progamming)的首字母縮寫爲OOP,這是一種經常使用的 編程技術,最初是爲了編寫模擬程序而開發的。
二.面向對象有三個概念類、對象、方法。類定義了事物中的屬性和它的行爲,對象是類的實例,方法是一個類能作的事情。
一、類(class)是一種表示對象類型的結構體,對象通 過它的類來獲取自身的各類信息,尤爲是執行每一個操做都 須要運行的代碼。簡單的程序可能僅包括十幾個類,中等 複雜的程序會包含幾十個類。 二、對象(object)是一直包含值和指向其類的隱藏指針 的結構體。運行中的程序一般都包含成百上千個對象。指 向對象的變量一般不須要首字母大寫。三、實例(instance)是「對象」的另外一種稱呼,比方 說circle對象也能夠稱爲circle類的實例。 四、消息(message)是對象能夠執行的操做,用於通知 對象去作什麼。五、方法(method)是爲響應消息而運行的代碼。根據 對象的類,消息能夠調用不一樣的方法。 六、方法調度(method dispatcher)是OC使用的一種 機制,用於推測執行什麼方法以響應某個特定的消息。七、接口(interface)是類以對象提供的特性描述。例如 ,Circle類的接口聲明瞭Circle類能夠接受draw消息。 八、實現(implementation)是使接口能正常工做的 代碼。在咱們的實例中,circle對象的實現中含有屏幕上 繪製圓形的代碼。向circle對象發送draw消息時,你不會 知道也沒必要知道函數是如何工做的,只須要知道它能在屏 幕上畫個圓就能夠了。
三.Objective-C 簡稱 OC
1.C語言的基礎上,增長了一層最小的面向對象語法 2.徹底兼容C語言 3.能夠在OC代碼中混入C語言代碼,甚至是C++代碼 4.關鍵字以開頭、用於區分C和C++的關鍵字 • @interface、@implementation、@end、@public @protected、@private、@selector 、@try 、@catch、@throw、@finally 、@protocol 、@optional、@required、@class、@property 、@synthesize、@dynamic、@self、super、id 、_cmd、__block、__strong、__weak、 5.OC文件以.m文件結尾(.m 表明.message)
四.布爾類型
1.許多編程語言都支持布爾類型(Boolean),它指的是能夠存儲真值和假值的變量類型,固然Objective-C也不例外。 2.C語言中其實擁有bool類型,true和false兩個值,Objective-C中也提供此功能爲BOOL類型,它具備Yes和NO兩個值。
五.OC語言中得OOP
類接口:定義了類的數據和方法,可是不包括方法的實現代碼。 類實現:包含了實現類方法的代碼。 應用程序:調用類來完成一些實際操做的應用程序。
1.  @interface部分(接口部分,後綴名.h) 建立某個特定類的對象以前,Objective-C 編譯器需 要一些有關該類的信息,尤爲是對象的數據成員及提 供的功能。可使用@interface指令把這些信息傳遞 給編譯器。 a.中輟符 Objective-c有一種名爲中輟符(infix notation)的語法技術。方法的名稱及其參數都是合在一塊兒的。 b.帶一個參數的方法: [circle setFillColor:redColor]; c.帶兩個參數的方法: [textThing setStringValue:
」hello」 color:blueColor]; setStringValue:和Color:是參數的名稱,是@「hello 」和blueColor是 被傳遞的參數 
2.  @implementation部分(實現部分,後綴名.m或.mm) 剛討論的@interface部分,它用於定義類的公共接口。 一般接口被成爲API(application programming interface 的三個首字母縮寫)。而真正是對象可以運行的代碼位於@implementation部分中。
3. 實例化對象 很是關鍵的過程,在該過程當中,咱們能夠建立生動的 形狀對象。 這個過程的專業術語叫作實例化(instantiation)。 實例化對象時,須要分配內存,而後將這些內存初始 化並保存爲有用的默認值,這些值不一樣於經過新分配 的內存得到的隨機值。內存分配和初始化工做完成後 ,就意味着新的對象實例已經建立好了。
六. 經過一天的學習,從模糊到懵懂,最後到醒悟,慢慢的對OC有了感受,感覺到了OC中的奇妙,以及與C的優越之處。今天最大的收穫是OOP,面向對象編程,經過接口部分.h文件和實現部分.m文件,巧妙的調用了函數,這樣主函數就會顯得清晰明瞭,在之後的團隊項目開發中,能夠很好的將成員各自負責的模塊組合在一塊兒。編程

相關文章
相關標籤/搜索