Objective_c语法.ppt

  1. 1、本文档共75页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Objective_c语法

(1.) 导入头文件使用的是import,如果想从当前目录查找Header 文件,找不到就到系统的头文件库中查找,请使用#import “Header 文件”,如果你只想从系统的头文件库中查找,请使用#importHeader 文件。 (2.) static 标识的类变量定义在接口的外面,类变量只能本类访问,除非提供类方法给外部访问这个类变量。 (3.) Objective-C 中的@+指令表示C 语言之外的Objective-C 的衍生语法,因此@interface 表示定义了一个接口,接口名称之后紧跟了一个冒号,冒号后是父类的名字,Objective-C 中的顶级父类是NSObject。 (4.) static 标识的类变量定义在接口的外面,类变量只能本类访问,除非提供类方法给外部访问这个类变量。接口定义之后紧接着一对{ },其中定义了成员变量。Objective-C 中的成员变量使用@public、@protected、@private作为访问修饰符,默认是@protected。这里你要知道的是Objective-C 中只有成员变量有访问修饰符,类变量、类方法、成员方法是没有访问修饰符的,所有的方法都是public的,所有的类变量都是私有的。 (5.) 以-开头的方法为成员方法,以+开头的方法为类方法,方法中的类型描述(返回值类型、参数类型)都必须使用( )包围。如果方法有多个参数,每个参数都有一个标签名(可以省略,但不建议这样做),每个标签名之后使用冒号与参数描述分隔。在有多个参数的方法中,实际的方法名称为 方法名:标签名1:标签名2:… …,上面的拥有两个参数的方法的方法名为setNumerator:andDenominator:。Objective-C中的类方法只能类调用,如果你使用对象调用会报错。 (6.) 以@end 表示接口定义结束。Objective-C 中的{ }只包围成员变量,因此必须有个结束标志。 (7.) Objective-C 中的@+指令表示C 语言之外的Objective-C 的衍生语法,因此@interface 表示定义了一个接口,接口名称之后紧跟了一个冒号,冒号后是父类的名字,Objective-C 中的顶级父类是NSObject。 Fraction.m 编写实现类: #import Fraction.h“ @implementation Fraction -(void) setNumerator: (int) n{ numerator=n; } -(void) setDenominator: (int) d{ denominator=d; } -(void) setNumerator: (int) n andDenominator: (int) d{ numerator=n; denominator=d; } -(int) numerator{ return numerator; } -(int) denominator{ return denominator; } -(void) print{ printf(%d/%d\n,numerator,denominator); } -(void) m{ printf(-m:The class variable t is %d\n,++t); } +(void) t{ printf(+t:The class variable t is %d\n,++t); } @end (1.) 将Fraction.m 与Fraction.h 放在一个文件夹下面,所以#import 使用了” ”,这个类的任务就是实现接口中的方法,因此与接口的结构不同的地方就是,你不能在这里定义变量。 (2.) @interface 换成了@implementation,不必在这里实现@interface 中的全部方法。这里有个-(void) m 方法比较特别,我们并没有在@interface中声明,那么这个方法可以调用吗?因为Objective-C 是动态语言,即便是@interface 中没有定义的方法,依然可以被调用。 (3.) Objective-C 是基于C 语言,所以程序的入口依然是main 函数。 main.m 1 #import Fraction.h“ 2 int main(int argc,const char *argv[]){ 3 Fraction *frac=[[Fraction alloc] init]; 4 [frac setNumerator: 3 andDenominator: 5]; 5 [frac print]; 6 printf(The denominator of Frac

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档