第五章復合
一、什麼是復合composition
程式設計中的復合就好像**中多個樂器組合在一起使用
在objective-c
中,復合是通過包含作為例項變數的物件指標實現的
舉例**:
unicycle
類中擁有乙個指向
pedal
物件的指標和乙個指向
tire
物件的指標
@inte***ce unicycle : nsobject
@end // unicycle
我們可以說
pedal
和tire
通過復合的方式組成了
unicycle
嚴格的講,物件間的組合才叫復合,
int、
float
、enum
和struct
等基本型別都被認為是物件的一部分
二、訪問方法accessor method
訪問方法是用來讀取或改變物件特定屬性的方法,即專門為類中成員變數賦值的方法
在對其他物件的屬性進行操作時,應始終使用物件所提供的訪問方法,永遠不直接改變其他物件屬性的數值
舉例**:
@inte***ce car : nsobject
-(engine *) engine; engine
物件的getter
-(void) setengine:(engine *) newengine; engine
物件的setter
-(tire *) tireatindex :(int) index; tire
物件的getter
-(void) settire : (tire *)tire tire
物件的setter
,需要序號引數
atindex :(int)index;
-(void) print;
@end//car
setter
方法通常根據更改的屬性前加上字首
set來命名
getter
方法則僅僅根據其返回的屬性的名稱命名
因為get
在cocoa
中有特殊的含義,使用
get意味著這個方法會通過你當做引數傳入
的指標來返回數值,這意味著使用
get開頭的方法傳入的通常都是指標
三、復合還是繼承
何時用繼承,何時用復合呢?
繼承在物件間建立了
is a關係
復合建立的
has a
關係
Objective C 學習筆記
1 is a 是乙個 繼承,提高執行效率,減少重複 2 has a 有乙個 復合,物件引用其它物件時,利用其它物件特性。3 返回屬性值的訪問方法,名稱中不能使用get這個詞 4 類名首字母大寫,變數首字母小寫。5 在objective c中所有物件間互動都是通過指標實現的。6 指標值被賦值,只有乙個...
Objective c學習筆記
property是object c的乙個特性,可以讓我們輕鬆實現成員變了的setting和getting方法。具體的語法如下 以成員變數nsstring m name為例 標頭檔案中宣告如下 property nsstring m name m檔案實現 synthesize m name 這樣我們便...
Objective c學習筆記
一 ojective c 建立物件涉及到一下註解 inte ce implementation 前乙個註解定義的是要實現的行為 後乙個註解是實現inte ce定義的行為 1.1在objective c中總共有4個基本資料型別,分別是int float double char 1.2限定詞 限定值有 ...