第五章Object C類

2021-07-07 06:19:38 字數 3707 閱讀 4430

*介面與實現檔案

在這些時間裡用你的類宣告並且定義這些單獨的檔案。如果你用的是xcode,你將要開始乙個新的專案稱為fractiontest。緊緊跟著這個專案檔案是main.m

#import "fraction.h"

int main(int argc,char* argv)

return 0;

}這個檔案並沒有包含這個fraction類。然而,它並沒有輸出檔案稱為fraction.h。

通常情況下,乙個類宣告要產生它自己的檔案,稱為class.h。讓我們推出這個類的宣告fraction.h以及定義這個fraction.m。

xcode將要增加兩個檔案在你的專案中:fraction.h和fraction.m.

#import "fraction.h"

int main(int argc,char *argv)

return 0;

}下面是檔案fraction.h

#import

@inte***ce fraction:nsobject

-(void) print;

-(void) setnumerator:int(n);

-(void) setdenominator:(int)d;

-(int) numerator;

-(int) denominator;

-(double) converttonum;

@end

介面檔案告訴這個編譯器有六個方法:print,setnumerator,setdenominator,numerator,denominator,以及converttonum.

#import "fraction.h"

@implementation fraction

-(void)print

-(void) setnumerator:(int)n

-(void) setdenominator:(int)d

-(int) numerator

-(int)denominator

-(double) converttonum

@end

*語法合成方法

第一步是用這個@property檢測你的介面來定義你自己的屬性。這個屬性同你命名的例項變數相同。在fraction類中,這兩個變數numerator和denominator分類。新的介面部分由@property來增加。

@inte***ce fraction:nsobject

@property int numerator,denominator;

-(void) print;

-(double) converttonum;

@end

#import "fraction.h"

@implementation fraction

@synthesize numerator,denominator;

-(void)print

-(double)converttonum

@end

*用點操作符

[myfraction numerator]

傳送這個numerator資訊給myfraction物件,來返回乙個值。你能寫乙個相等的表示式用點操作符:

myfraction.numerator  通常的格式如下所示:

instance.property

你能用簡單的語法來分配這些變數:

instance.property = value

緊接著寫下下面的值:

[instance setproperty:value]

[myfraction setproperty:1];

[myfraction setdenominator:3];

這裡有相等的方式來寫下相同的兩行:

myfraction.numerator = 1;

myfraction.denominator = 3;

我們能用新的語法特徵方式並且訪問這些屬性。

下面我來看一下點操作符的用法。

#import "fraction.h"

int main(int argc.char* argv)

return 0;

}*多引數方式

讓我們繼續看下fraction類並且增加一些其他東西。你需要定義六個方法。我們來設定這個numerator和denominator資訊。你將要定義這些簡單的方法在這些列表中。例如,這些方法名被稱為addentrywithname:andemail:可以取兩個引數,假設乙個名乙個是郵件位址。這個方法addentrywithname:andemail:andphone設定三個引數:name,email address以及乙個手機號。**如下:

[myfraction setnumerator:1 anddenominator:3];

讓我們來用乙個新的方法工作。首先增加這個生命setto:over:to這個介面檔案。

#import

@inte***ce fraction:nsobject

@property int numerator,denominator;

-(void) print;

-(void) setto:(int)n over:(int)d;

-(double) converttonum;

@end

接下來,我們增加這個新的方法到實現檔案中。

#import "fraction.h"

@implementation fraction

@synthesize numerator,denominator;

-(void) print

-(double)converttonum

-(void)setto:(int)n over:(int)d

@end

在這裡我們測試一下新的方法。

#import "fraction.h"

int main(int argc,char* argv)

return 0;

}在fractions中的操作

讓我們假設你將要增加先前的乙個宣告以及乙個定義的增加,最後增加測試用例到程式中。

@inte***ce fraction:nsobject

@property int numerator,denominator;

-(void) print;

-(void) setto:(int)n over:(int) d;

-(double) converttonum;

-(void) add:(fraction*)f;

@end;

接下來看這些解釋檔案

#import "fraction.h"

@implementation fraction

@synthesize numerator,denominator;

-(void) print

-(double) converttonum

-(void)setto:(int)n over:(int)d

-(void)add:(fraction*)f

@end

#import "fraction.h"

int main(int argc,char *argv)

return 0;

}這個測試比較直接。這裡面有兩個fractions,它們稱為afraction和bfraction,並且分配並且初始化。

*分配並且返回物件

-(fraction*)add:(fraction*)f

python第五章 Python學習(第五章)

記錄所有的名片字典 card list defshow menu 顯示資訊 print 50 print 歡迎使用 名片管理系統 v1.0 print print 1.新增名片 print 2.顯示全部 print 3.搜尋名片 print print 0.退出系統 print 50 defnew ...

第五章 雜湊

雜湊表adt,只支援二叉樹查詢所允許的一部分操作。比如插入,刪除,查詢等。那些需要元素間排序資訊的操作將不會得到支援。比如findmin,findmax和線性時間按排序順序列印整個表的操作時不支援的。雜湊函式在理想狀態是能將任何兩個不同的關鍵字對映到不同的單元,但是這是不可能,因為關鍵字是無窮的,但...

第五章 函式

第五章 函式 1 函式的定義 shell函式定義可以放在 bash profile 檔案中,也可以在使用該函式的指令碼中,還可以在命令列中 通過 source 或 執行bash profile檔案,使修改能夠立即生效 function 函式名 declare f 顯示定義的函式清單 export f...