天天看點

黑馬程式員---成長之路-----OC之基礎篇OC的概述

------<a href="http://www.itheima.com" target="_blank" rel="external nofollow"  target="blank">Java教育訓練、Android教育訓練、iOS教育訓練、.Net教育訓練</a>、期待與您交流!
           

第一講 C與OC的關系  

在學完C語言之後,知道C的重要性,C是在程式領域裡的基礎,重中之重,無論你學哪種程式設計語言,C必定是你首先要掌握的東西。OC實際上是在C的基礎上創立的語言,OC中包含了C,C中所有的文法規則在OC中依然實用,但是OC又有其新增加的文法。  

第二講 OC與C的學習差異  

首先我們來看源檔案:  

C中的源檔案是以.c為字尾的  

OC中的源檔案是以.m為字尾的

接着來看資料類型的對比:

黑馬程式員---成長之路-----OC之基礎篇OC的概述
黑馬程式員---成長之路-----OC之基礎篇OC的概述

前面說過,C中所有的文法規則在OC中都實用,表面看起來學OC和C沒有什麼不同,OC中隻是增加了一些新的資料類型,隻要學會這些新的資料類型就萬事大吉了。其實不然,如果真是那樣,那麼建立這門新的語言就完全沒有必要了,在我看來OC和C在文法上可以說是有傳承有創新,main函數依然是程式執行的入口,依然是按順序往下執行,但是在剛學的時候,總是感覺有什麼地方是怪怪的,其實這就是C和OC 的最大的不同之處,就是所用思維的不同,C是一門面向過程的語言,而OC是一門面向對象的語言。  

第三講 面向過程與面向對象  

面向過程與面向對象其實并不好解釋,這裡我個人的了解:其實說的通俗點,面向過程就是直線型思維,一步一步的往下執行,而面向對象其實就是一種指揮型思維,main函數是一個指揮部,指揮着類與對象,讓其按照指令去執行。舉例來說:就拿吃飯來說,面向過程的思維是這樣的:種一種菜,摘菜,洗菜,炒菜,吃菜,這是一個完整的過程,隻要這樣才能吃上;而面向對象的思維是這樣的:媽媽選擇做什麼菜,媽媽做好菜喂我吃。很明顯,面向對象和面向過程有很大的差別。  

我認為,文法和資料類型不是學習的難點,其實學習的難點在于思維,在剛學過C之後的思維很難一下子轉變過來,要學好OC首先的有面向對象的思維。