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消息時,你不會  知道也沒必要知道函數是如何工做的,只須要知道它能在屏  幕上畫個圓就能夠了。 app

   三.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是  被傳遞的參數 ui


   2.  @implementation部分(實現部分,後綴名.m或.mm)   剛討論的@interface部分,它用於定義類的公共接口。   一般接口被成爲API(application programming   interface 的三個首字母縮寫)。而真正是對象可以運行的代碼位於@implementation部分中。spa

   3. 實例化對象   很是關鍵的過程,在該過程當中,咱們能夠建立生動的  形狀對象。   這個過程的專業術語叫作實例化(instantiation)。  實例化對象時,須要分配內存,而後將這些內存初始  化並保存爲有用的默認值,這些值不一樣於經過新分配  的內存得到的隨機值。內存分配和初始化工做完成後  ,就意味着新的對象實例已經建立好了。   .net

 六. 經過一天的學習,從模糊到懵懂,最後到醒悟,慢慢的對OC有了感受,感覺到了OC中的奇妙,以及與C的優越之處。今天最大的收穫是OOP,面向對象編程,經過接口部分.h文件和實現部分.m文件,巧妙的調用了函數,這樣主函數就會顯得清晰明瞭,在之後的團隊項目開發中,能夠很好的將成員各自負責的模塊組合在一塊兒。    設計

相關文章
相關標籤/搜索