Objective-C基础——面对对象语法01
生活随笔
收集整理的這篇文章主要介紹了
Objective-C基础——面对对象语法01
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、面向?qū)ο蠛兔嫦蜻^程思想
OC是面向?qū)ο蟮?#xff0c;C是面向過程的。面向?qū)ο蠛兔嫦蜻^程只是解決問題的兩種不同思想
1.面向?qū)ο蠛兔嫦蜻^程的區(qū)別
? ? ? ? 以用電腦聽歌為例? ? ? ? ? ? a) ?面向過程:
? ? ? ? ? ? ? ? ? --- > 打開電腦
? ? ? ? ? ? ? ? ? --- > 播放電腦中的歌曲
? ? ? ? ? ? ? ? ? --- > 關(guān)閉電腦
?
? ? ? ? ? ? b) ?面向?qū)ο?#xff1a;
? ? ? ? ? ? ? ? ? --- > 開機(jī)
? ? ? ? ? ? ? ? ? --- > 播放歌曲
? ? ? ? ? ? ? ? ? --- > 關(guān)機(jī)
區(qū)別分析:
面向過程關(guān)注的是解決問題需要哪些步驟;面向?qū)ο箨P(guān)注的是解決問題需要哪些對象
沒有開發(fā)經(jīng)驗很難感受到它們的區(qū)別,兩種思想都能達(dá)到解決問題的目的,但是解決思路不一樣
?2. ?現(xiàn)實中面向?qū)ο蟮睦?br /> ? ? ? ? ? ? ? ?--- > 想打電話\發(fā)短信 ? --> 找手機(jī),不用分析電話要怎樣才能撥通。
? ? ? ? ? ? ? ?--- > 去飯店吃飯 ?--- > 找服務(wù)員,不用分析怎么到廚房炒菜。
? ? ? ? ? ? ? ?--- > 汽車壞了 ?--- > 找汽車維修工,不用分析修車的步驟。
? ? ? ? ? ? ? ?--- > 用業(yè)內(nèi)一句有內(nèi)涵的話說就是 “萬物皆對象”。
3. 常用術(shù)語
面向過程 Procedure Oriented
面向?qū)ο?Object Oriented,簡稱OO
面向?qū)ο缶幊?Object Oriented Programming,簡稱OOP
二、類和對象的關(guān)系
面向?qū)ο笾杏?個非常重要的概念:類和對象如何創(chuàng)建對象
現(xiàn)實生活的例子:如何創(chuàng)造汽車對象?
1> 需要先有汽車的建造圖紙,圖紙上描述清楚汽車應(yīng)該具備的屬性和功能(行為)
? ? ? ? ?屬性:輪子數(shù)、時速
? ? ? ? ?功能(行為):跑
2> 然后再根據(jù)圖紙上的描述生成汽車
3> 每一輛汽車都是對象,都有自己具體的屬性值,都是圖紙的實例
4> 圖紙是抽象的,房子是具體的。圖紙是對房子對象的高度概括
?
OC中的面相對象
1> OC中的類相當(dāng)于圖紙,用來描述一類事物。也就是說,要想創(chuàng)建對象,必須先有類
2> OC利用類來創(chuàng)建對象,對象是類的具體存在
因此,面向?qū)ο蠼鉀Q問題應(yīng)該是先考慮需要設(shè)計哪些類,再利用類創(chuàng)建多少個對象
?
需要設(shè)計哪些類,如何設(shè)計類
1> 類的設(shè)計,只關(guān)心3樣?xùn)|西:
? ? ? ? ?事物名稱(類名):人(Person)
? ? ? ? ?屬性:身高(height)、年齡(age)
? ? ? ? ?行為(功能):跑(run)、打架(fight)
?> 一般名詞都是類
? ? ? ? ?坦克發(fā)射3顆炮彈轟掉了2架飛機(jī)
? ? ? ? ?小明在公車上牽著一條叼著熱狗的狗
?3> 擁有相同(或者類似)屬性和行為的對象都可以抽像出一個類
4> 哪個對象最清楚這個行為,就把這個行為寫到哪個對象中去。打開電腦(開機(jī))這個行為應(yīng)該是屬于電腦的
類的設(shè)計: 1> 類名
* 類名的第一個字母必須是大寫
* 不能有下劃線
* 多個英文單詞,用駝峰標(biāo)識
2> 屬性
3> 行為(功能)
例如,
1.植物大戰(zhàn)僵尸的僵尸 * 類名:Zoombie * 屬性:life、speed、gongjili * 行為:walk、bite、die2.雷電的飛機(jī) * 類名:Plane * 屬性:life、gongjili、speed、bombCount * 行為:fly、bomb、shoot、die3.電腦 * 類名:Computer * 屬性:band、expireDate * 行為:open、close
總結(jié)
以上是生活随笔為你收集整理的Objective-C基础——面对对象语法01的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网页制作黄金内容填充
- 下一篇: 多线程实现的几种方式