【學習筆記】【OC語言】物件導向思想,學習筆記oc
一、物件導向和面向過程思想
OC是物件導向的,C是面向過程的。物件導向和面向過程只是解決問題的兩種不同思想
1.物件導向和面向過程的區別
1》以用電腦聽歌為例子
面向過程
開啟電腦
播放電腦中的歌曲
關閉電腦
2》物件導向(不是相親的“對象”)
電腦
開機
播放歌曲
關機
2.區別分析
面向過程關注的是解決問題需要哪些步驟;物件導向關注的是解決問題需要哪些對象
沒有開發經驗很難感受到它們的區別,兩種思想都能達到解決問題的目的,但是解決思路不一樣
現實生活中物件導向的例子
想打電話\發簡訊 找手機,不用分析電話要怎樣才能撥通
去飯店吃飯 找服務員,不用分析怎麼到廚房炒菜
汽車壞了 找汽車維修工,不用分析修車的步驟
境界:萬物皆對象
3.常用術語
面向過程 Procedure Oriented
物件導向 Object Oriented,簡稱OO
物件導向編程 Object Oriented Programming,簡稱OOP
二、類和對象的關係
物件導向中有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架飛機
小明在公車上牽著一條叼著熱狗的狗
擁有相同(或者類似)屬性和行為的對象都可以抽像出一個類
哪個對象最清楚這個行為,就把這個行為寫到哪個對象中去。開啟電腦(開機)這個行為應該是屬於電腦的。