? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 一 ? ? ? ? OC與C的對(duì)比
1、源文件對(duì)比
.c語(yǔ)言中常見的源文件:.h文件和.c文件
文件擴(kuò)展名 ? ? ? ? ? ? ?源類型
.h ? ? ? ? ? ? ? ? ? ? ? ? 頭文件,用于存放函數(shù)聲明
.c ? ? ? ? ? ? ? ? ? ? ? ? ?c語(yǔ)言源文件,用于實(shí)現(xiàn)頭文件中聲明的方法
.oc中的源文件:.h頭文件、.m和.mm的實(shí)現(xiàn)文件
文件擴(kuò)展名 ? ? ? ? ? ? ?源類型
.h ? ? ? ? ? ? ? ? ? ? ? ? 頭文件,頭文件包含類、方法、屬性的聲明
.c ? ? ? ? ? ? ? ? ? ? ? ? ?類的實(shí)現(xiàn)文件,參與編譯的文件,用來(lái)實(shí)現(xiàn)類中聲明的方法
2、關(guān)鍵字
(1)c語(yǔ)言中的關(guān)鍵字都可以在oc中使用
(2)oc新增的關(guān)鍵字在使用時(shí),注意部分關(guān)鍵字以“@”開頭
3、數(shù)據(jù)類型
(1) ? c語(yǔ)言的數(shù)據(jù)類型
基本數(shù)據(jù)類型:整型(短整型short、整型int、長(zhǎng)整型long)、字符型(char)、實(shí)型(單精度f(wàn)loat、雙精度double)
構(gòu)造類型:數(shù)組、結(jié)構(gòu)體、枚舉、共用體
指針類型
空類型
(2)oc語(yǔ)言數(shù)據(jù)類型
基本數(shù)據(jù)類型:整型(短整型short、整型int、長(zhǎng)整型long、布爾類型BOOL)、字符型(char)、實(shí)型(單精度f(wàn)loat、雙精度double)
構(gòu)造類型:數(shù)組、結(jié)構(gòu)體、枚舉、共用體
指針類型:類(class)、id類型(動(dòng)態(tài)對(duì)象類型\萬(wàn)能指針)
Block類型(代碼塊數(shù)據(jù)類型)
SEL(選擇器數(shù)據(jù)類型)
空類型
4、流程控制語(yǔ)句對(duì)比
oc語(yǔ)言在c語(yǔ)言的基礎(chǔ)上增加了“增強(qiáng)for循環(huán)”
5、函數(shù)(方法)定義和聲明對(duì)比
方法只能寫在類里面,而函數(shù)可以寫在任何地方
6、面向?qū)ο笮略鎏匦?/p>
(1)封裝:把內(nèi)部實(shí)現(xiàn)細(xì)節(jié)屏蔽起來(lái),只提供一些接口
(2)繼承
(3)多態(tài)
7、面向?qū)ο笮略稣Z(yǔ)法
(1)屬性生成器:@property、@synthesize(可以簡(jiǎn)化代碼,屬性和成員變量保存一致,如果沒有@synthesize,屬性有_線,而成員變量沒有下劃線)
8、協(xié)議
使用協(xié)議聲明方法
9、foundtion框架
二、面向?qū)ο?/p>
1、面向?qū)ο蟮幕靖拍?/p>
(1)面向?qū)ο螅╫bject oriented,oo)是軟件開發(fā)方法
(2)oop--面向?qū)ο缶幊?/p>
2、面向?qū)ο蠛兔嫦蜻^程的區(qū)別
(1)面向?qū)ο笫窍鄬?duì)面向過程而言的,兩者都是一種思想
(2)面向過程:
強(qiáng)調(diào)的是功能行為
關(guān)注的是解決問題需要哪些步驟
(3)面向?qū)ο螅?/p>
將功能封裝進(jìn)對(duì)象,強(qiáng)調(diào)具備了功能的對(duì)象
關(guān)注的是解決問題需要哪些對(duì)象
三、類和對(duì)象的關(guān)系
1、oc中用類來(lái)創(chuàng)建對(duì)象,對(duì)象是類的具體存在,因此,面向?qū)ο蠼鉀Q問題應(yīng)該是先要設(shè)計(jì)哪些類,在利用類創(chuàng)建多個(gè)對(duì)象
2、如何設(shè)計(jì)一個(gè)類
(1)屬性:對(duì)應(yīng)類中的成員變量
(2)行為:對(duì)應(yīng)類中的成員方法
3、擁有相同屬性和行為都可以抽象為一個(gè)類