Object.c基础知识.docVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Object c 基础知识 文件类型说明: .h   头文件,用于定义类、实例变量及类中的方法等定义信息(interface)。 .m   源文件,定义方法体,可实现objce-c和c方法(implementation)。 .mm  c++源文件 引用头文件: 可通过#import关键字引入想要使用的头文件,该关键字作用通#include相同,不过import会确保每个文件只会被引用一次。 object-c中类的定义有两部分:interface和implementation interface部分包含类的定义以及实例变量和方法。interfache通常定义在.h(头)文件中; implementation部分包含方法的实现部分(方法体),implementation通常定义在.m(源)文件中。 1 @interface MyClass : NSObject 2 { 3 int count; 4 id data; 5 NSString* name; 6 } 7 -(id)initWithString:(NSString*)aName; 8 +(MyClass*)createMyClassWithString:(NSString*)aName; 9 @end 在上述代码中,包含了以下信息: 名为MyClass的类,继承于Cocoa框架中的NSObject类; 定义了3个成员变量:count、data和name(@protected) 以及声明了2个方法 实例变量也可以放到源文件中定义,如: 1 // 源文件中的:NSObject为可选,一般情况下不用写 2 @implenmentation MyClass :NSObject 3 { 4 int count; 5 int data; 6 NSString *name; 7 } 8 9 -(id)initWithString:(NSString*)aName 10 { 11 ... 12 } 但需要注意的是,若成员变量定义在源文件中而非头文件中,则变量的访问权限都为@private. object-c支持强类型和弱类型两种方式定义一个对象变量: 强类型定义时变量类型即类命,且为指针类型 弱类型定义使用id型定义 1 MyClass *myObject; // 强类型定义 2 id myObject; //弱类型定义 方法的定义和引用: Object-C中的方法同其它面向对象语言一样,分两种方法:实例方法(-)和类方法(+)(静态方法)。 实例方法需要通过类的实例去调用,而静态方法可直接通过类名去调用。 1 - (void)insertObject:(id)anObject atIndex:(NSUInter)index; 上述代码中定义了一个名为insertObject:atIndex的实例方法,该方法无返回值,并定义了2个形参,类型分别为id和NSUInter。 在定义一个方法时,也可以不指定参数名,如: 1 // 声明一个没有参数名的方法 2 -(int) set: (int) n: (int) d; 3 4 // 方法调用 5 [object set : 4 : 5]; 方法的调用: 在Object-C中,调用一个方法叫做发送消息,方法调用语句定义在中括号[]中: 1 [myArray insertObject:anObject atIndex:0]; 为了避免生成大量的临时变量,Object-C允许嵌套调用方法,使一个方法的返回值当作另一个方法的参数,如: 1 [[myAppObject theArray] inserObject:[myAppObject objectToInsert] atIndex:0]; 成员变量: 默认情况下,Object-C中的成员变量为@protected,可通过@public,@private关键字修改成员变量的可见性(只有成员变量拥有这些属性)。 1 @interface MyObject : NSObject 2 { 3 // 成员变量要定义在大括号中 4 @public int n1; 5 @private int n2; 6 @protected int n3; 7 } 8 ...... 9 @end 10 11 // 通过类实例访问public的成员变量: 12 MyObject *mo = [[MyObject alloc] init]; 13 mo-n1; 若要访问受保护的成员变量,需要在类中定义相应的get和set方法,通过类实例调用这些方法来达到访问或设置这些

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档