iOS 面向?qū)ο缶幊趟枷?

1.軟件編程的實(shí)質(zhì)

編程的實(shí)質(zhì)就是將人類的思想轉(zhuǎn)換成機(jī)器可以理解的語(yǔ)言的過(guò)程脓豪。

學(xué)習(xí)的核心問(wèn)題就是掌握這種思維的方式。

OC是一種面向?qū)ο蟮恼Z(yǔ)言蹦浦。

2.對(duì)象

面向?qū)ο笫窍鄬?duì)面向過(guò)程而言。面向?qū)ο蠛兔嫦蜻^(guò)程都是一種思想端圈。

例如洗衣服這件事的不同理解。

面向過(guò)程的方式去理解:準(zhǔn)備衣服已經(jīng)相關(guān)的用品子库,打開洗衣機(jī)舱权,放入衣服和洗衣液,啟動(dòng)洗衣機(jī)仑嗅。

面向 對(duì)象的理解方法:買個(gè)全自動(dòng)洗衣機(jī)宴倍,準(zhǔn)備要洗的衣物及用品〔旨迹或者找個(gè)人幫你洗鸵贬,呵呵。

面向過(guò)程:按人們認(rèn)識(shí)客觀世界的系統(tǒng)思維方式脖捻,采用基于對(duì)象(實(shí)體)的概念建立模型阔逼,

模擬客觀世界分析、設(shè)計(jì)地沮、實(shí)現(xiàn)軟件的辦法嗜浮。通過(guò)面向?qū)ο蟮睦砟钍褂?jì)算機(jī)軟件系統(tǒng)能與現(xiàn)實(shí)世界中的系統(tǒng)一一對(duì)應(yīng)。

面向?qū)ο螅菏且环N解決軟件復(fù)用的設(shè)計(jì)和編程方法摩疑。這種方法把軟件系統(tǒng)中相近相似的操作邏輯和操作應(yīng)用數(shù)據(jù)危融、狀態(tài),

以類的型式描述出來(lái)雷袋,以對(duì)象實(shí)例的形式在軟件系統(tǒng)中復(fù)用吉殃,以達(dá)到提高軟件開發(fā)效率的作用。

它的優(yōu)點(diǎn)是可以大幅度提高軟件項(xiàng)目的成功率楷怒,減少維護(hù)的費(fèi)用蛋勺,提高可移植性和可靠性。

面向?qū)ο笤O(shè)計(jì)四個(gè)個(gè)主要特征

1鸠删、抽象性

2迫卢、繼承性

3、封裝性

4冶共、多態(tài)性

二者的區(qū)別:

面向過(guò)程是把問(wèn)題中的數(shù)據(jù)用算法進(jìn)行描述,強(qiáng)調(diào)功能性每界;

面向?qū)ο笫前压δ芊庋b進(jìn)對(duì)象捅僵,強(qiáng)調(diào)問(wèn)題的解決需要哪些對(duì)象的使用。

面向?qū)ο蟮木幊趟枷胧腔诿嫦蜻^(guò)程發(fā)展而來(lái)的眨层,這是計(jì)算機(jī)程序設(shè)計(jì)發(fā)展到一定階段的必然產(chǎn)物庙楚。

3.類和對(duì)象

class 類:類是具有相似內(nèi)部狀態(tài)和運(yùn)動(dòng)規(guī)律的實(shí)體的集合(或統(tǒng)稱、抽象)趴樱。

對(duì)象(object):即指現(xiàn)實(shí)世界中各種各樣的實(shí)體馒闷。它可以指具體的事物也可以指抽象的事物酪捡。

消息(Message):

消息是指對(duì)象間相互聯(lián)系和相互作用的方式。一個(gè)消息主要由5部分組成:發(fā)送消息的對(duì)象纳账、接收消息的對(duì)象逛薇、消息傳遞辦法、消息內(nèi)容(參數(shù))疏虫、反饋永罚。

例如施工圖紙可以看成是房子的類,汽車設(shè)計(jì)圖可以看成是車的類等卧秘,類是事物的一種抽象概況呢袱。

一個(gè)類可以實(shí)例化出多個(gè)對(duì)象。

類(Class) 一個(gè)類由3個(gè)部分構(gòu)成:

類的名稱:類名

類的屬性:一組包含數(shù)據(jù)的屬性

類的方法:允許對(duì)屬性中包含的數(shù)據(jù)進(jìn)行操作的方法

對(duì)象(object):

是系統(tǒng)中的基本運(yùn)行實(shí)體翅敌;對(duì)象就是類類型(class type)的變量羞福;

定義了一個(gè)類,就可以創(chuàng)建這個(gè)類的多個(gè)對(duì)象蚯涮;一個(gè)類就是具有相同類型的對(duì)象的抽象治专;

類的抽象方法:一般可以用到名字抽象法,就是說(shuō)名詞一般都是一類恋昼。

小明玩電腦

人類-對(duì)象是小明 ?電腦是一類 ?玩-是小明的行為

4.類的聲明和實(shí)現(xiàn)

在OC中類的定義有兩部分:類的聲明看靠、類的實(shí)現(xiàn)。

.h:

類的聲明文件液肌,用于聲明成員變量挟炬、方法。類的聲明使用關(guān)鍵字@interface和@end嗦哆。

注意:.h中的方法只是做一個(gè)聲明谤祖,并不對(duì)方法進(jìn)行實(shí)現(xiàn)。

也就是說(shuō)老速,只是說(shuō)明一下方法名粥喜、方法的返回值類型、方法接收的參數(shù)類型而已橘券,并不會(huì)編寫方法內(nèi)部的代碼额湘。

.m:

類的實(shí)現(xiàn)文件,用于實(shí)現(xiàn).h中聲明的方法旁舰。類的實(shí)現(xiàn)使用關(guān)鍵字@implementation和@end锋华。

方法的聲明和實(shí)現(xiàn),都必須以 + 或者 -開頭:

+ ?表示類方法(靜態(tài)方法)

- ? 表示對(duì)象方法(動(dòng)態(tài)方法)

在.h中聲明的所有方法作用域都是public類型箭窜,不能更改毯焕。

成員變量的常用作用域有3種:

@public 全局都可以訪問(wèn)

@protected 只能在類內(nèi)部和子類中訪問(wèn)

@private 只能在類內(nèi)部訪問(wèn)

聲明一個(gè)類 ? .h:

@interface Student : NSObject{

int age;

NSString * name;

}

-(void)goToClass;

@end

實(shí)現(xiàn)一個(gè)類 ? .m:

@implementation

-(void)goToClass{

NSLog(@"Goto class!");

}

@end

5.創(chuàng)建一個(gè)對(duì)象

用類的方式告訴了計(jì)算機(jī)我們需要一個(gè)什么樣的對(duì)象,之后我們要在程序中使用這個(gè)對(duì)象磺樱,就必須先創(chuàng)建一個(gè)對(duì)象

Student *stu = 【Student new】纳猫;

只要是用new操作符定義的實(shí)體就在會(huì)堆內(nèi)存中開辟一個(gè)新的空間婆咸。

【Student new】在內(nèi)存中干三件事:

1.開辟存儲(chǔ)空間

2.初始化成員變量

3.返回指針地址

通過(guò) 對(duì)象->對(duì)象成員(注意聲明屬性為:@public)的方式操作對(duì)象中的成員,對(duì)其中一個(gè)對(duì)象的成員進(jìn)行了修改芜辕。和另一個(gè)對(duì)象沒(méi)有關(guān)系尚骄。

6.無(wú)參數(shù)方法的聲明與調(diào)用

OC中有類方法和對(duì)象方法。

對(duì)象方法:

對(duì)象方法是減號(hào)-開頭的物遇;

對(duì)象調(diào)用對(duì)象方法乖仇;

對(duì)象方法中可以訪問(wèn)當(dāng)前的對(duì)象成員變量;

調(diào)用對(duì)象方法的格式 【對(duì)象名 ?對(duì)象方法名】

類方法:

類方法是加號(hào)+開頭的询兴;

類方法只能類去調(diào)用乃沙;

類方法中不可以訪問(wèn)成員變量,因?yàn)轭愒谡{(diào)用類方法的時(shí)候并沒(méi)有分配內(nèi)存空間诗舰,所以無(wú)法存儲(chǔ)成員變量值警儒;

調(diào)用的格式 ?【類名 ?類方法名】

類方法的好處和適用場(chǎng)合:

不依賴于對(duì)象,執(zhí)行效率更高眶根;

能用類方法解決的問(wèn)題蜀铲,盡量使用類方法;

場(chǎng)合:當(dāng)方法內(nèi)部不需要使用到成員變量時(shí)属百,可以改為類方法记劝。

聲明一個(gè)不帶參數(shù)的對(duì)象方法:

-(void)goToClass;

【stu ?goToClass】;

或者

對(duì)象名 . 方法名 (點(diǎn)語(yǔ)法)

7.有參數(shù)方法的聲明與調(diào)用

帶參數(shù)的方法定義:

-(int) sum : (int) a and : (int) b;

-表示這是一個(gè)對(duì)象方法

int是返回值類型

sum: and: 是方法名族扰。注意冒號(hào)也是方法名的一部分厌丑。

a b 是參數(shù)名

方法的調(diào)用:

【c ?sum:1 and:2】

c是一個(gè)指針變量名 ,給方法傳遞兩個(gè)參數(shù)渔呵。

思考與實(shí)現(xiàn):

定義一個(gè)電話類實(shí)現(xiàn)一些基礎(chǔ)功能怒竿。

聲明部分:

typedef enum color{White ,Black,colorTHJ} iColor;

@interface iPhone : NSObject{

iColor _color;

float ? _size;

}

-(void)aboutMyPhone;

-(void)call : (NSString *) num;

@end

實(shí)現(xiàn)部分:

@imlementation

-(void)aboutMyPhone{

NSLog(@"顏色 :%d,大欣┣狻:%.2f ",_color,_size);

}

-(void)call : (NSString *) num{

NSLog(@"給 %@ 打電話耕驰。",num);

}

@end

調(diào)用部分:

iPhone *iph = [iPhone new];

[iph aboutMyPhone];

[iph ?call:"10086"];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市录豺,隨后出現(xiàn)的幾起案子朦肘,更是在濱河造成了極大的恐慌,老刑警劉巖双饥,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件媒抠,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡兢哭,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門夫嗓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)迟螺,“玉大人冲秽,你說(shuō)我怎么就攤上這事【馗福” “怎么了锉桑?”我有些...
    開封第一講書人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)窍株。 經(jīng)常有香客問(wèn)我民轴,道長(zhǎng),這世上最難降的妖魔是什么球订? 我笑而不...
    開封第一講書人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任后裸,我火速辦了婚禮,結(jié)果婚禮上冒滩,老公的妹妹穿的比我還像新娘微驶。我一直安慰自己,他們只是感情好开睡,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開白布因苹。 她就那樣靜靜地躺著,像睡著了一般篇恒。 火紅的嫁衣襯著肌膚如雪扶檐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評(píng)論 1 284
  • 那天胁艰,我揣著相機(jī)與錄音款筑,去河邊找鬼。 笑死蝗茁,一個(gè)胖子當(dāng)著我的面吹牛醋虏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播哮翘,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼颈嚼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了饭寺?” 一聲冷哼從身側(cè)響起阻课,我...
    開封第一講書人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎艰匙,沒(méi)想到半個(gè)月后限煞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡员凝,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年署驻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡旺上,死狀恐怖瓶蚂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情宣吱,我是刑警寧澤窃这,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站征候,受9級(jí)特大地震影響杭攻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜疤坝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一兆解、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧卒煞,春花似錦痪宰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至扮饶,卻和暖如春具练,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背甜无。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工扛点, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人岂丘。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓陵究,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親奥帘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子铜邮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容