| 20世纪80年代就出现了Objectvie-C. 千年万精油 hello Objective-C #import<Foudation/Foundation.h> //告诉编译器查看Fondation框架中的Foudation.h头文件。 int main(int argc,const char*arg【】) { NSLog(@“hello,Object-C!”); // NSLog()接受一个字符串作为其第一个参数作为其第一个参数, 该字符串包含格式说明符 return(0); }//main .m----object-C .c-----c编译器 .cpp-----C++ .m代表message 所有这些编译工作由GCC(GNU Compiler Colection) NS前缀说明函数来自cocoa工具包。 @说明引用的应该作为Cocoa的NSString元素来处理 NSString功能: 1告知其长度;2将自身与其他字符串比较;3将自身转换为整形值或浮点值。 BOOL不是true和false而是yes和no BOOL areIntsDifferent(int tihng1 int thing2) //接受两个整形参数,返回BOOL值。、 { if(thing1==thing2){ reture(NO); }else{ return(yes); } NSString *boolString(BOOL yesNo){ //boolString()返回的类型是一个指向NSString的指针 if(yesNo==No){ return(@"No");} else{ return(@"Yes") } } int main(int argc,const char *argv[]) { BOOL areTheyDifferent(5.5); NSLog(@"are%d and%d differnt?%@", //%d=5,%@=boolString(areTheyDifferent) 5.5.boolString(areTheyDifferent)); BOOL areTheyDifferent(23.542; NSLog(@"are%d and%d differnt?%@", 23.42.boolString(areTheyDifferent)); return(0); ) oop 1.Indirection. #import<Foundation/Foundation.h> int main(int argc,const char*arg【】) { NSLog(@“The numbers from 1 to 5:”); int i; for(i=1;i<=5;i++){ //添加一个间接层,用count代替5,这样就可以方便修改,变量的间接。 NSLog(@"%d\n",i); } return(0); } 2 #import<Foundation/Foundation.h> int main(int argc,const char*arg【】) { const char *words【4】={"abcde","def","jxyzs","kl"}; int wordCount=4; int i; for(i=0;i<wordCount;i++) { NSLog(@"%s is %d characters long",words[i],strlen(words[i])); } return(0); } 3.现在可以开始oop 了 类:一种结构,表示对象的类型; 对象:一种结构,它包含值和指向其他类的隐藏指针; 实例:比如circle对象也可以称作circle类的一个实例; 消息:对象可以执行的操作; 方法:响应消息而运行的代码;消息可以调用多个方法; 接口:是对象的类应该提供特性的描述; 实现:是使接口正常工作的代码; 。。下面来一个标准的OOP #interface Circle:NSObject //这是为命名为Circle的新类定义的接口。 { ShapeColor fillColor; ShapeRect bounds; } -(void)setFillColor shapeColor)fillColor; //(返回值) 方法 :(参数类型 )参数-(void)setBounds shapeRect)bounds;-(void)draw @end #implementation Circle //定义类的公共接口。 -(void)setFillColor shapeColor) C{ fillColor=C; } -(void)setBounds;(shapeRect)b { bounds=b } -(void)draw; { NSLog(@"drawing a circle at(%d %d %d %d) in %@"), bounds.x,bounds.y,bounds.widh,bounds.height, colorName(fillColor); } @end int main(int argc,const char *argv[]) //实例化, { id shapes[3]; ShaeRect rect0={0.0.10.30}; shapes[0]=[Circle new]; [shapes[0] setBounds: rect0]; [shapes[0] setFillColor:kRedColor]; ShaeRect rect1={30.40.50.36}; shapes[1]=[Rectangle new]; [shapes[1] setBounds: rect1; [shapes[1] setFillColor:kGreenColor]; ShaeRect rect2={15.19.37.29}; shapes[2]=[OblateSphereoid new]; [shapes[2] setBounds: rect2]; [shapes[2] setFillColor:kBlueColor]; drawShapes (shapes.3); return(0); } |
本文转自www.35java.com

shapeColor)fillColor; //(返回值) 方法 :(参数类型 )参数
浙公网安备 33010602011771号