1. 面向?qū)ο?/h2>
它通過給程序中加入擴(kuò)展語句宅静,把函數(shù)“封裝”進(jìn)編程所必需的“對象”中季眷。面向?qū)ο蟮木幊陶Z言使得復(fù)雜的工作條理清晰、編寫容易史简。說它是一場革命居暖,不是對對象本身而言顽频,而是對它們處理工作的能力而言。對象并不與傳統(tǒng)程序設(shè)計(jì)和編程方法兼容太闺,只是部分面向?qū)ο蠓炊鴷?huì)使情形更糟糯景。除非整個(gè)開發(fā)環(huán)境都是面向?qū)ο蟮模駝t對象產(chǎn)生的好處還沒有帶來的麻煩多省骂。
對象(Object)是問題域或?qū)崿F(xiàn)域中某些事物的一個(gè)抽象蟀淮,它反映此事物在系統(tǒng)中需要保存的信息和發(fā)揮的作用;它是一組屬性和有權(quán)對這些屬性進(jìn)行操作的一組服務(wù)的封裝體钞澳。 關(guān)于對象要從兩方面理解:一方面指系統(tǒng)所要處理的現(xiàn)實(shí)世界中的對象怠惶;另一方面對象是計(jì)算機(jī)不直接處理的對象,而是處理相應(yīng)的計(jì)算機(jī)表示轧粟,這種計(jì)算機(jī)表示也稱為對象策治。簡單的來說,一個(gè)人就是一個(gè)對象兰吟,一個(gè)尺子也可以說是個(gè)對象通惫。
另: 面向?qū)ο缶幊蹋∣bject Oriented Programming,OOP混蔼,面向?qū)ο蟪绦蛟O(shè)計(jì))是一種計(jì)算機(jī)編程架構(gòu)讽膏。OOP的一條基本原則是計(jì)算機(jī)程序是由單個(gè)能夠起到子程序作用的單元或?qū)ο蠼M合而成。OOP達(dá)到了軟件工程的三個(gè)主要目標(biāo):重用性拄丰、靈活性和擴(kuò)展性府树。為了實(shí)現(xiàn)整體運(yùn)算,每個(gè)對象都能夠接收信息料按、處理數(shù)據(jù)和向其它對象發(fā)送信息奄侠。
2. 繼承
1.好處:
1.抽取重復(fù)代碼
2.建立類之間的關(guān)系
3.子類可以擁有父類中所有的成員變量和方法
2.壞處:
耦合性太強(qiáng)。
3.注意點(diǎn):
1.父類必須聲明在子類的前面载矿。
2.子類不能擁有和父類相同的成員變量垄潮,會(huì)產(chǎn)生重復(fù)定義的 Error。但是子類可以擁有父類相同的屬性闷盔,屬性的重寫問題弯洗。
3.調(diào)用某個(gè)方法時(shí), 優(yōu)先在當(dāng)前類中找, 如果找不到就去父類中找。
4.基本上所有類的根類是NSObject逢勾。
4.繼承的使用場合
1.當(dāng)兩個(gè)類擁有相同屬性和方法的時(shí)候, 就可以將相同的東西抽取到一個(gè)父類中牡整。
2.當(dāng)A類完全擁有B類中的部分屬性和方法時(shí), 可以考慮讓B類繼承A類。
5.繼承與組合的寫法
// 繼承:
A { int _age; int _no; }
B : A { int _weight; }
// 組合
A { int _age; int _no; }
B { A *_a; int _weight; }