一、面向?qū)ο蠛兔嫦蜻^程思想
OC是面向?qū)ο蟮模珻是面向過程的。面向?qū)ο蠛兔嫦蜻^程只是解決問題的兩種不同思想
1.面向?qū)ο蠛兔嫦蜻^程的區(qū)別
1》以用電腦聽歌為例子
面向過程
打開電腦
播放電腦中的歌曲
關(guān)閉電腦
2》面向?qū)ο螅ú皇窍嘤H的“對(duì)象”)
電腦
開機(jī)
播放歌曲
關(guān)機(jī)
2.區(qū)別分析
面向過程關(guān)注的是解決問題需要哪些步驟;面向?qū)ο箨P(guān)注的是解決問題需要哪些對(duì)象
沒有開發(fā)經(jīng)驗(yàn)很難感受到它們的區(qū)別,兩種思想都能達(dá)到解決問題的目的,但是解決思路不一樣
現(xiàn)實(shí)生活中面向?qū)ο蟮睦?br />想打電話/發(fā)短信 找手機(jī),不用分析電話要怎樣才能撥通
去飯店吃飯 找服務(wù)員,不用分析怎么到廚房炒菜
汽車壞了 找汽車維修工,不用分析修車的步驟
境界:萬物皆對(duì)象
3.常用術(shù)語
面向過程 PRocedure Oriented
面向?qū)ο?Object Oriented,簡稱OO
面向?qū)ο缶幊?Object Oriented Programming,簡稱OOP
二、類和對(duì)象的關(guān)系
面向?qū)ο笾杏?個(gè)非常重要的概念:類和對(duì)象
1.如何創(chuàng)建對(duì)象
現(xiàn)實(shí)生活的例子:如何創(chuàng)造汽車對(duì)象?
需要先有汽車的建造圖紙,圖紙上描述清楚汽車應(yīng)該具備的屬性和功能(行為)
屬性:輪子數(shù)、時(shí)速
功能(行為):跑
然后再根據(jù)圖紙上的描述生成汽車
每一輛汽車都是對(duì)象,都有自己具體的屬性值,都是圖紙的實(shí)例
圖紙是抽象的,房子是具體的。圖紙是對(duì)房子對(duì)象的高度概括
2.OC中的面相對(duì)象
OC中的類相當(dāng)于圖紙,用來描述一類事物。也就是說,要想創(chuàng)建對(duì)象,必須先有類
OC利用類來創(chuàng)建對(duì)象,對(duì)象是類的具體存在
因此,面向?qū)ο蠼鉀Q問題應(yīng)該是先考慮需要設(shè)計(jì)哪些類,再利用類創(chuàng)建多少個(gè)對(duì)象
3.需要設(shè)計(jì)哪些類,如何設(shè)計(jì)類
1.類的設(shè)計(jì):
1> 類名
* 類名的第一個(gè)字母必須是大寫
* 不能有下劃線
* 多個(gè)英文單詞,用駝峰標(biāo)識(shí)
2> 屬性
3> 行為(功能)
2.植物大戰(zhàn)僵尸的僵尸
* 類名:Zoombie
* 屬性:life、speed、gongjili
* 行為:walk、bite、die
3.雷電的飛機(jī)
* 類名:Plane
* 屬性:life、gongjili、speed、bombCount
* 行為:fly、bomb、shoot、die
4.電腦
* 類名:Computer
* 屬性:band、expireDate
* 行為:open、close
一般名詞都是類
坦克發(fā)射3顆炮彈轟掉了2架飛機(jī)
小明在公車上牽著一條叼著熱狗的狗
擁有相同(或者類似)屬性和行為的對(duì)象都可以抽像出一個(gè)類
哪個(gè)對(duì)象最清楚這個(gè)行為,就把這個(gè)行為寫到哪個(gè)對(duì)象中去。打開電腦(開機(jī))這個(gè)行為應(yīng)該是屬于電腦的。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注