Objective-C:擁有一些附加特性的C語(yǔ)言,或者稱為C的擴(kuò)展集.
在Xcode這個(gè)開(kāi)發(fā)工具中可以支持ANSI C, Objective-C , C++語(yǔ)言編譯,編譯器是GCC.這個(gè)信息很重要個(gè)人認(rèn)為.
- @interface Circle : NSObject
- {
- ShapeColor fillColor;
- ShapeRect bounds;
- }
- - (void) setFillColor: (ShapeColor) fillColor;
- - (void) setBounds: (ShapeRect) bounds;
- - (void) draw;
- @end
@interface Circle : NSObject //一個(gè)編譯器要編譯三種語(yǔ)言,總得弄區(qū)別標(biāo)志符號(hào)出來(lái)吧
@ 這個(gè)符號(hào)就是告訴編譯器,接下來(lái)的代碼是Objective-C interface就是接口的意思
Circle : NSObject // : 這個(gè)符號(hào)也可以理解為Objective-C 的特有標(biāo)識(shí)符,告訴編譯器Circle類來(lái)自和繼承NSObject類的特性.
- (void) setFillColor: (ShapeColor) fillColor;// - 又一個(gè)特有標(biāo)識(shí)符,
(void) 表示該函數(shù)返回的類型是void型,
setFillColor 函數(shù)名, 在這里應(yīng)該叫方法
: 表示向編譯器開(kāi)始傳遞參數(shù)
(ShapeColor) 參數(shù)類型名
fillColor 參數(shù)名
@end // 表示結(jié)束
整個(gè)函數(shù)等于C語(yǔ)言的 void setFillColor( ShapeColor fillColor);
整個(gè)代碼感覺(jué)就像C語(yǔ)言中的函數(shù)和結(jié)構(gòu)體申明.
函數(shù)(方法)申明之后,總得定義吧,下面是定義的代碼
- @implementation Circle
- - (void) setFillColor: (ShapeColor) c
- {
- fillColor = c;
- }
- - (void) setBounds: (ShapeRect) b
- {
- bounds = b;
- }
- - (void) draw
- {
- NSLog(@"drwing a circle at (%d %d %d %d) in %@",bounds.x,bounds.y,bounds.width,bounds.height,colorName(fillColor));
- }
NSLog() 相當(dāng)C語(yǔ)言中的printf(),但編譯器總得區(qū)別開(kāi),所以字符串前面加個(gè)@表示Objective-C的字符串
@implementation 表示類的實(shí)現(xiàn) |