复合、源文件组织

复合(composition):将多个对象联系在一起以完成想要的功能。

在oc中,复合式通过包含作为实例变量的对象指针实现的。

@interface Unicyle : NSObject

{

Pedal *pedal;

Tire *tire;

}

@end     //Unicyle

存取(accessor)方法是用来存取或改变某个对象属性的方法。如果要对其他对象中的属性进行操作,应该尽量使用对象提供的存取方法,绝对不能直接改变对象里面的值。那是不安全的,其实就是set和get。

- (void) setFire: (Tire*) tire atIndex: (int) index;

/*这里的方法名称是 setFire:atIndex:,方法名分段是为了对参数有更好的描述,比如C++中的一个方法IsRight(int. bool),在进行调用时IsRight(10, false),这样很难判断每个参数有什么具体含义,所以oc中会把每个参数都再方法中描述进去,这样更容易理解。这里的方法在调用的时候会是这个样子的[car setFire:tire atIndex:i],这样参数的意义就比较好理解了*/

在oc中所有对象间的交互都是通过指针实现的。

“Cannot find interface declaration for Tire”(无法找到Tire类的接口定义)之类的错误信息,通常是因为你忘记了用#import导入该类的头文件了。

通常,每个类都有两个文件:包含类@interface部分的头文件和包含@implementation部分的m文件。类的使用者可以通过#import命令导入头文件来获取该类的功能。

使用@class指令告诉编译器这是一个类。

时间: 2024-10-13 00:41:41

复合、源文件组织的相关文章

复合、源文件组织、类别

复合(composition):将多个对象联系在一起以完成想要的功能. 在oc中,复合式通过包含作为实例变量的对象指针实现的. @interface Unicyle : NSObject { Pedal *pedal; Tire *tire; } @end     //Unicyle 存取(accessor)方法是用来存取或改变某个对象属性的方法.如果要对其他对象中的属性进行操作,应该尽量使用对象提供的存取方法,绝对不能直接改变对象里面的值.那是不安全的,其实就是set和get. - (void

Objective-C学习笔记 复合

才看到昨天的不知道为什么没有发出去... 第五章 复合 复合的定义:通过包含作为实例变量的对象指针实现.例如: @interface Unicycle : NSObject {           Pedal*pedal;           Tire*tire; }//Pedal和tire通过复合的方式组成了Unicycle 严格来说只有对象间的组合才叫做复合. 自定义NSLog()可以使用%@格式说明符来输出对象. 存取方法 存取方法是用来读取或改变某个对象属性的方法.如果添加一个新方法去改

Objective-C 02 复合

复合: 编程中的复合(composition)就好像音乐中的作曲(composition)一样:将多个组件组合在一起,配合使用,从而得到完整的作品. 在Objective-C中,复合是通过包含作为实例变量的对象指针实现的. 在软件开发中,程序员可能会使用一个Pedal(脚踏板)对象和一个Tire(轮胎)对象组合出虚拟的Unicycle(独轮车). 虚拟的独轮车应该拥有一个指向Pedal对象的指针和一个指向Tire对象的指针.Code 如下: @interface Unicycle : NSObj

【索引】Objective-C基础教程-读书笔记

第1章 启程 http://www.cnblogs.com/duxiuxing/p/5492219.html 第2章 对C的扩展 第3章  面向对象编程的基础知识 第4章 继承 第5章 复合 第6章 源文件组织 第7章 深入了解Xcode 第8章 Foundation Kit介绍 第9章 内存管理 第10章 对象初始化 第11章 属性 第12章 类别 第13章 协议 第14章 代码块和并发性 第15章 AppKit简介 第16章 UIKit简介 第17章 文件加载与保存 第18章 健/值编码 第

oobject-c基础教程 总结

历时n久 终于把这本书完完全全的看完了 话说 从来没看完过一本技术书 终于有了小突破 看过就忘 也是醉了 从第一章开始 总结本书内容 加油!! ======================================================== 第一章:启程 IOS-Cocoa Touch OS X-Cocoa 第二章:对C的扩展 objective-c是C的子集. Xcode控制台窗口:View-Debug Area-Acitvate Console  ||  Command+Sh

ol3简介

ol3从根本上进行了重新设计,相对于ol2,他符合现代浏览器的一些设计理念,使用了js新的特性,initial版本的目的是支持原来ol2的大多数功能,支持公网上流行的缓存切片,支持常见的矢量数据格式.支持多种投影并且加入了一些新的功能如旋转和动画.同时,将来计划实现支持3D地图,使用WebGL显示大量矢量数据.ol3使用了google的 ClosureTools ,并深度依赖它.通过ClosureTools操作DOM,兼容浏览器.同时使用Closure Compiler进行编译.ol3通过Clo

【二】D语言现状、基本规定和相关资源介绍

这算是本系列文章的一个序吧,主要是为以后的学习做铺垫,文本分为三个部分,第一部分是对于网上一些比较旧的资料的问题的一些更正,当然我也不可能看过所有的资料,难免会有遗漏.第二部分是D语言最基本的规定,第三部分是相关的资源 一.对于一些网上旧资料上的内容不准确之处在此指出 1.D对闭包的支持不好 目前版本支持完全的闭包,所以不用担心 2.D不支持动态链接 目前版本支持动态链接技术,但Windows平台需要注意的是D的runtime建立在dmc(一个C编译器)runtime 基础上,它与VC的二进制格

深入了解android平台的jni(二)

Android.mk是Android提供的一种makefile文件,用来指定诸如编译生成so库名.引用的头文件目录.需要编译的.c/.cpp文件和.a静态库文件等.要掌握jni,就必须熟练掌握Android.mk的语法规范. 一.Android.mk文件的用途一个android子项目中会存在一个或多个Android.mk文件1.单一的Android.mk文件直接参考NDK的sample目录下的hello-jni项目,在这个项目中只有一个Android.mk文件2.多个Android.mk文件如果

【Android本地开发技术:编译脚本】Android.mk

作者:郭孝星 微博:郭孝星的新浪微博 邮箱:[email protected] 博客:http://blog.csdn.net/allenwells Github:https://github.com/AllenWells 一 Android.mk文件的作用和特点 1.1 Android.mk文件作用 该文件用来描述编译系统(build system)的,即一个微型的GNU Makefile片段,会由编译系统解析一次或多次. 1.2 Android.mk文件特点 该文件用来将源文件组织成模块,模