關於objective c中類的組合

2021-06-26 14:04:50 字數 1816 閱讀 9922

關於objective-c中類的組合問題,我們先來看一道題:

1.設計2個類,類之間的關係自擬(比如繼承、組合)

1> 身材資料

(1)屬性

* 身高

* 體重

* 手長

* 腳長

(2)方法

* 屬性相應的set和get方法

2> 人

(1)屬性

* 年齡

* 身高

* 體重

* 手長

* 腳長

(2)方法

* 屬性相應的set和get方法

思路:在這道題裡面,人擁有乙份 身材資料 ,所以用組合關係,在人這個類裡面組合身體資料這個類,來實現。

實現**如下:

// 身材資料

@inte***ce bodydata : nsobject

// 身高的getter和setter

- (int)height;

- (void)setheight:(int)height;

// 體重的getter和setter

- (int)weight;

- (void)setweight:(int)weight;

// 手長的getter和setter

- (int)handlength;

- (void)sethandlength:(int)handlength;

// 腿長的getter和setter

- (int)leglength;

- (void)setleglength:(int)leglength;

@end

@implementation bodydata

// 身高的getter和setter

- (int)height

- (void)setheight:(int)height

// 體重的getter和setter

- (int)weight

- (void)setweight:(int)weight

// 手長的getter和setter

- (int)handlength

- (void)sethandlength:(int)handlength

// 腿長的getter和setter

- (int)leglength

- (void)setleglength:(int)leglength

@end

// 人

@inte***ce person : nsobject

// _age的setter和getter

- (void)setage:(int)age;

- (int)age;

// _bodydata的setter和getter

- (void)setbodydata:(bodydata *)bodydata;

- (bodydata *)bodydata;

@end

//實現

@implementation person

// _age的setter和getter

- (void)setage:(int)age

- (int)age

// _bodydata的setter和getter

- (void)setbodydata:(bodydata *)bodydata

- (bodydata *)bodydata

@end

int main()

Objective C 中的類和物件

在objc4 532.2以後,蘋果把nsobject的實現也挪進來了。想要了解nsobject底層實現終於不用去摳gnustep了 好了,下面正文 runtime裡面,宣告了id和class的型別,簡化一下如下 1 2 3 4 5 6 7 8 9 structobjc class structobj...

Objective C 類的定義

這次,我們介紹objective c是如何定義乙個完整的類。定義乙個類都包括哪些部分,為了簡單明瞭,更加直接,列舉了乙個20多行 的小例子。那麼,讓我們先看下面這個簡單的例子 1 2 3 4 5 6 7 8 9 10 11 import 引用foundation庫標頭檔案 inte cefracti...

Objective C 類的擴充套件

category,分類或類目。主要作用是為沒有原始碼的類加入方法。通過category加入的方法會成為原類的一部分。從而達到擴充套件乙個類的功能。定義category過程 新建 件 選擇objective c category模板 填寫類名和分類名 h 件加入 法宣告 m加入 法實現 categor...