【學習筆記】【OC語言】面向對象思想

1、面向對象和麪向過程思想
OC是面向對象的,C是面向過程的。面向對象和麪向過程只是解決問題的兩種不一樣思想
1.面向對象和麪向過程的區別
1》以用電腦聽歌爲例子
面向過程
打開電腦
播放電腦中的歌曲
關閉電腦

2》面向對象(不是相親的「對象」)
電腦
開機
播放歌曲
關機

2.區別分析
面向過程關注的是解決問題須要哪些步驟;面向對象關注的是解決問題須要哪些對象
沒有開發經驗很難感覺到它們的區別,兩種思想都能達到解決問題的目的,可是解決思路不同

現實生活中面向對象的例子
想打電話\發短信 找手機,不用分析電話要怎樣才能撥通
去飯店吃飯 找服務員,不用分析怎麼到廚房炒菜
汽車壞了 找汽車維修工,不用分析修車的步驟
境界:萬物皆對象

3.經常使用術語
面向過程 Procedure Oriented
面向對象 Object Oriented,簡稱OO
面向對象編程 Object Oriented Programming,簡稱OOP

2、類和對象的關係
面向對象中有2個很是重要的概念:類和對象
1.如何建立對象
現實生活的例子:如何創造汽車對象?
須要先有汽車的建造圖紙,圖紙上描述清楚汽車應該具有的屬性和功能(行爲)
屬性:輪子數、時速
功能(行爲):
而後再根據圖紙上的描述生成汽車
每一輛汽車都是對象,都有本身具體的屬性值,都是圖紙的實例
圖紙是抽象的,房子是具體的。圖紙是對房子對象的高度歸納

2.OC中的面相對象
OC中的類至關於圖紙,用來描述一類事物。也就是說,要想建立對象,必須先有類
OC利用類來建立對象,對象是類的具體存在
所以,面向對象解決問題應該是先考慮須要設計哪些類,再利用類建立多少個對象

3.須要設計哪些類,如何設計類
1.類的設計:
1> 類名
* 類名的第一個字母必須是大寫
* 不能有下劃線
* 多個英文單詞,用駝峯標識
2> 屬性
3> 行爲(功能)

2.植物大戰殭屍的殭屍
* 類名:Zoombie
* 屬性:life、speed、gongjili
* 行爲:walk、bite、die

3.雷電的飛機
* 類名:Plane
* 屬性:life、gongjili、speed、bombCount
* 行爲:fly、bomb、shoot、die

4.電腦
* 類名:Computer
* 屬性:band、expireDate
* 行爲:open、close


通常名詞都是類
坦克發射3顆炮彈轟掉了2架飛機
小明在公車上牽着一條叼着熱狗的狗

擁有相同(或者相似)屬性和行爲的對象均可以抽像出一個類
哪一個對象最清楚這個行爲,就把這個行爲寫到哪一個對象中去。打開電腦(開機)這個行爲應該是屬於電腦的。編程

相關文章
相關標籤/搜索