• OC接口


    (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 中有着特殊的含义,这在后面将会看到。

  • 相关阅读:
    插入排序
    JavaMail学习笔记
    Struts2的工作原理
    我的快速排序
    截取字符串,只截取前N个字节的字符
    修改MyEclipse8.6中的Servlet.java模板
    Java类装载的过程及原理介绍
    cmd检查jdk的版本
    快速排序
    flash 侦测人的面部
  • 原文地址:https://www.cnblogs.com/answer-Allen/p/4828068.html
Copyright © 2020-2023  润新知