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