码迷,mamicode.com
首页 > 其他好文 > 详细

OC接口

时间:2015-09-22 10:09:27      阅读:504      评论:0      收藏:0      [点我收藏+]

标签:

(1.) 这里与C 语言不同的是导入头文件使用的是import,而不是include。另外与C 语言一样的地方是如果你想从的地方是如果你想从当前目录查找Header 文件,找不到就到系统的头文件库中查找,请使用#import “Header 文件”,如果你只想从系统的头文件库中查找,请使用#import<Header 文件>。Foundation/Foundation.h 包含了Foundation Kit 中的所有的头文件定义,GNUStep 的Object-C 的Foundation 头文件在/GNUStep 安装目录/GNUstep/System/Library/Headers/Foundation 文件夹。GNUStep 的Object-C 的AppKit 头文件在

/GNUStep 安装目录/GNUstep/System/Library/Headers/ AppKit 文件夹

(2.) static 标识的类变量定义在接口的外面,类变量只能本类访问,除非提供类方法给外部

访问这个类变量。

(3.) Object-C 中的@+指令表示C 语言之外的Object-C 的衍生语法,因此@interface 表示定义了一个接口,接口名称之后紧跟了一个冒号,冒号后是父类的名字,Object-C 中的顶级父类是NSObject。

(4.) 接口定义之后紧接着一对{ },其中定义了成员变量,所谓的成员变量就相当于JAVA 中的

实例变量,从属于类的对象。Object-C 中的成员变量使用@public、@protected、@private作为访问修饰符,默认是@protected。这里你要知道的是Object-C 中只有成员变量有访问修饰符,类变量、类方法、成员方法是没有访问修饰符的,所有的方法都是public 的,所有的类变量都是私有的。

(5.) 以-开头的方法为成员方法,以+开头的方法为类方法,方法中的类型描述(返回值类型、

参数类型)都必须使用( )包围。如果方法有多个参数,每个参数都有一个标签名(可以

省略,但不建议这样做),每个标签名之后使用冒号与参数描述分隔。在有多个参数的

方法中,实际的方法名称为 方法名:标签名1:标签名2:… …,上面的拥有两个参数的方

法的方法名为setNumerator:andDenominator:。与JAVA 不同的是Object-C 中的

类方法只能类调用,如果你使用对象调用会报错,而JAVA 仅仅是在编译期给出警告。

(6.) 以@end 表示接口定义结束。这是因为与JAVA 不同的是JAVA 的类型定义使用{ }包围,

而Object-C 中的{ }只包围成员变量,因此必须有个结束标志,一般JAVA 程序员经常会忘

记写这个结束标记。

这里你要知道Object-C 的@interface 与JAVA 的interface 并不是一回事儿,后面你会看到

Object-C 中的@protocol 与JAVA 中的interface 才是等同的。这里你只需要记住的是Object-C

中的@interface 只是类的一个描述,因为@interface 通常在独立的h 文件中,你可以把它类

比成C 语言中的函数原型,也就是在Object-C 里应该叫做类的原型。通过这个原型,编译

器可以知道具体实现类有哪些功能。

上面的接口中的方法很简单,主要就是成员变量的setter、getter 方法,这与JAVA 没有什么

不同的。但是你会发现getter 方法没有以get 作为方法名称前缀,这是因为get 开头的方法

在Object-C 中有着特殊的含义,这在后面将会看到。

OC接口

标签:

原文地址:http://www.cnblogs.com/answer-Allen/p/4828068.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!