@interface Shape : NSObject
{
ShapeColor fillColor;
ShapeRect bounds;
}
- (void) setFillColor: (ShapeColor) fillColor;
- (void) setBounds: (ShapeRect) bounds;
- (void) draw;
@end // Shape
@implementation Shape
- (void) setFillColor: (ShapeColor) c
{
fillColor = c;
} // setFillColor
- (void) setBounds: (ShapeRect) b
{
bounds = b;
} // setBounds
- (void) draw
{
} // draw
@end // Shape
這是一段Objective-C基礎教程中的一段代碼。已知ShapeColor在前文爲typedef enum,ShapeRect爲typedef struct。
首先代碼的開頭@interface Shape代表了這是一個新的類Shape的接頭,而:NSObejct意味着Shape類會繼承NSObejct類。
定義兩個變量fillcolor與bounds分別爲ShapeColor與ShapeRect型。
而之後聲明函數
以setFillColor爲例,若用C++來寫的話
void setFillColor(ShapeColor fillcolor){}
於此相類似。
@end表示結束。
在Objective-C中,從屬於類的函數叫做方法。
@interface用於表示接口
而@implementation才能使對象能夠運行。
@implementation是編譯器命令,表明你將爲某個類提供代碼。
接下來是各個方法的定義。
這一段代碼就先分析完成。
/*---------------------------------------------------------------------------------------------------------------------------*/