Flash程序员的Objective-C教程–类结构拆分.doc

上传人:自*** 文档编号:126205440 上传时间:2020-03-23 格式:DOC 页数:3 大小:44.95KB
返回 下载 相关 举报
Flash程序员的Objective-C教程–类结构拆分.doc_第1页
第1页 / 共3页
Flash程序员的Objective-C教程–类结构拆分.doc_第2页
第2页 / 共3页
Flash程序员的Objective-C教程–类结构拆分.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《Flash程序员的Objective-C教程–类结构拆分.doc》由会员分享,可在线阅读,更多相关《Flash程序员的Objective-C教程–类结构拆分.doc(3页珍藏版)》请在金锄头文库上搜索。

1、Flash程序员的Objective-C教程(2) 类结构拆分在上一篇教程中,我们编写了基本的接口和类实现,但还没有做文件拆分,所有的代码都集中在一个文件中。这样做的缺点显而易见,随着项目的扩大和代码量的增加,项目的可维护性将会变得非常困难。大部分面向对象的语言,都支持通过文件拆分的形式,将源码按照一定的规则,分散在若干个文件中。在ActionScript中,想必我们已经很熟悉了,每一个类一般都会单独作为一个文件存在。而在Objective-C中,由于类通常为拆分为接口和实现两个部分,所以类的代码,通常也分别放在两个文件里。.h文件,头文件,存放类的interface指令,公共struct定义

2、,enum常量,#defines和extern全局变量等等,头文件名称应该与类名称相同,比如Triangle.h.m文件,所有实现细节(包括类的implementation指令,全局变量定义,私有struct等,与类同名,比如Triangle.m)根据这个原则,我们将之前的图形代码,拆分出如下的文件结构:首先是Shape的接口,Shape.h文件:#import / 用枚举来定义颜色值typedef enum kRedColor, kGreenColor, kBlueColor ShapeColor;/ 定义图形区域的结构类型typedef struct int x, y, width, he

3、ight; ShapeRect;/ 图形基类的定义,包括接口和实现interface Shape : NSObject ShapeColorfillColor; ShapeRect bounds;- (void) setFillColor: (ShapeColor) fillColor;- (void) setBounds: (ShapeRect) bounds;- (void) draw;end / Shape复制代码Shape.m的定义,注意要导入接口定义#import Shape.h:#import Shape.himplementation Shape- (void) setFillC

4、olor: (ShapeColor) c fillColor = c; / setFillColor- (void) setBounds: (ShapeRect) b bounds = b; / setBounds- (void) draw / drawend / Shape复制代码然后是三角形的接口和类,跟Shape类似:Triangle.h#import Shape.hinterface Triangle : Shapeend复制代码Triangle.m#import Triangle.himplementation Triangle/ -/ 将颜色定义的枚举值,转换为可供阅读的字符串,这

5、里把这个方法作为类的静态方法+ (id) colorName: (ShapeColor) color NSString *colorName; switch (color) case kRedColor: colorName = 红; break; case kGreenColor: colorName = 绿; break; case kBlueColor: colorName = 蓝; break; default: colorName = 不支持的色值; break; return (colorName); / colorName- (void) draw NSString *cname

6、 = Triangle colorName:(fillColor); NSLog (drawing a triangle at (%d %d %d %d) in %, bounds.x, bounds.y, bounds.width, bounds.height, cname); / drawend / Triangle复制代码然后对于main中的代码,就变得非常简单了:#import #import Shape.h#import Triangle.h/ -/入口方法int main(int argc, const char * argv) ShapeRect rect0 = 0, 0, 10, 30 ;/定义图形区域 Shape *shape0 = Triangle new;/实例化 shape0 setBounds: rect0;/调用setBounds方法 shape0 setFillColor: kRedColor;/调用setFillColor方法 shape0 draw;/调用draw方法 return (0);复制代码

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号