Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19885
  • 博文数量: 3
  • 博客积分: 219
  • 博客等级: 入伍新兵
  • 技术积分: 40
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-05 14:04
文章分类
文章存档

2011年(3)

我的朋友
最近访客

分类: 嵌入式

2011-09-20 20:52:03

Objective-C:拥有一些附加特性的C语言,或者称为C的扩展集.
在Xcode这个开发工具中可以支持ANSI C, Objective-C , C++语言编译,编译器是GCC.这个信息很重要个人认为.
  1. @interface Circle : NSObject
  2. {
  3.  ShapeColor fillColor;
  4.  ShapeRect bounds;
  5. }
  6. - (void) setFillColor: (ShapeColor) fillColor;
  7. - (void) setBounds: (ShapeRect) bounds;
  8. - (void) draw;
  9. @end
@interface Circle : NSObject //一个编译器要编译三种语言,总得弄区别标志符号出来吧
 
@ 这个符号就是告诉编译器,接下来的代码是Objective-C  interface就是接口的意思
 
Circle : NSObject // : 这个符号也可以理解为Objective-C 的特有标识符,告诉编译器Circle类来自和继承NSObject类的特性.
 
- (void) setFillColor: (ShapeColor) fillColor;// - 又一个特有标识符,
(void) 表示该函数返回的类型是void型,
setFillColor  函数名, 在这里应该叫方法
: 表示向编译器开始传递参数
(ShapeColor)  参数类型名
fillColor  参数名
@end // 表示结束
整个函数等于C语言的 void setFillColor( ShapeColor fillColor);
整个代码感觉就像C语言中的函数和结构体申明.
 
函数(方法)申明之后,总得定义吧,下面是定义的代码
  1. @implementation Circle
  2. - (void) setFillColor: (ShapeColor) c
  3. {
  4.  fillColor = c;
  5. }
  6. - (void) setBounds: (ShapeRect) b
  7. {
  8.  bounds = b;
  9. }
  10. - (void) draw
  11. {
  12.  NSLog(@"drwing a circle at (%d %d %d %d) in %@",bounds.x,bounds.y,bounds.width,bounds.height,colorName(fillColor));
  13. }
NSLog() 相当C语言中的printf(),但编译器总得区别开,所以字符串前面加个@表示Objective-C的字符串
@implementation 表示类的实现
阅读(1786) | 评论(0) | 转发(0) |
0

上一篇:学习Iphone应用开发

下一篇:没有了

给主人留下些什么吧!~~