本帖最后由 布鲁兹老爷 于 2015-10-15 20:35 编辑
二、类 1、OC中每个类都由两部分构成:接口和实现 接口:创建对象前,OC编译器需要一些有关该类的信息,尤其是对象的数据成员及其提供的功能,使用@interface指令把这些消息传递给编译器。 格式 - @interface 类名 : 父类
- {
- 成员变量们
- }
- 方法们
- @end//Car
复制代码
一下是一个Car类的接口:- //:NSObject 继承NSObject类,让Car类具有NSObject类的方法。
- @interface Car : NSObject
- {
- //属性(成员变量/实例变量) 写在大括号里面
- int _wheels;
- double _speed;
- }
- //行为(方法)
- - (void)run:(double)speed;
- @end
复制代码
@interface 行中的NSObject告诉编译器,Car类是基于NSObject类的。该语表明每一个Car类都是一个NSObject,并且每个Car类都将继承NSObject类定义的所有行为(方法)。
{}大括号中表示创建的新对象有2个元素构成,每个Car对象都将有自己的_wheel和_speed。_wheel和_speed的值称为Car类的实例变量(成员变量)。
大括号外的 - (void)run:(double)speed;有点像C语言中的函数声明。在OC中,它们称为方法声明。方法声明列出了每个方法的名称、返回值的类型和某些参数。 最前面的减号 - 表明这个方法是一个对象方法。减号后面是方法的返回值类型,位于小括号中。run:是方法名注意,run后面的冒号是方法名的一部分,他告诉编译器和其他人后面会出现参数。在后面是参数类型,也位于小括号中。最后的speed是参数名。
注意“冒号”是方法名称非常重要的组成部分。 - (void) run;和- (void)run:(double)speed;两个方法是不同的。如果方法使用参数,则需要冒号,不适用参数则不需要冒号。
最后一行的@end告诉编译器,我们已经完成了Car类的声明。 建议:在每个@end语句后面添加注释来注明类的名称。 以上就是完整的Car类的借口。
|