黑马程序员技术交流社区

标题: OC学习笔记3 类的接口 [打印本页]

作者: 布鲁兹老爷    时间: 2015-10-15 20:30
标题: OC学习笔记3 类的接口
本帖最后由 布鲁兹老爷 于 2015-10-15 20:35 编辑

二、类
1、OC中每个类都由两部分构成:接口和实现
接口:创建对象前,OC编译器需要一些有关该类的信息,尤其是对象的数据成员及其提供的功能,使用@interface指令把这些消息传递给编译器。
格式
  1. @interface 类名 : 父类
  2. {
  3.       成员变量们
  4. }
  5. 方法们
  6. @end//Car
复制代码

一下是一个Car类的接口:
  1. //:NSObject 继承NSObject类,让Car类具有NSObject类的方法。
  2. @interface Car : NSObject
  3. {
  4.     //属性(成员变量/实例变量) 写在大括号里面
  5.     int _wheels;
  6.     double _speed;
  7. }
  8. //行为(方法)
  9. - (void)run:(double)speed;
  10. @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类的借口。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2