Objective C學習筆記第五章復合

2021-06-26 16:32:03 字數 1344 閱讀 6376

第五章復合

一、什麼是復合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限定詞 限定值有 ...