OCobjective.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OCobjective

OC objective-C 是C的超集,是对C的一个扩展,扩展了面像对象的思想?NeXT? NeXTStep ? oc? Cocoa cmd+R oc的基本使用 ??同过main函数为主函数 ? #import?拷贝头文件中的数据?防止重复导入 ? NSLog();?日志输出? NS是前缀 ? @hello world oc的字符串? ? BOOL ? YES ? NO c?面相过程 ?? ??面相模块 oc面相对象? oo ??什么是对象 ?? ??实实在在的个体 ??类 ?? ??是对对象的一个抽象描述 ?? ??是创建对象的模板 ??属性:描述创建出来的对象应该长什么样子的 ??行为:描述创建出来的对象可以做什么事情 面相对象三大的特征 封装 ?? 1、将属性进行封装,对外不公开,对外私有化 ?? @public?可以在任何地方直接使用 ?? @private?只可以在本类中使用 ?? @protected?只可以在本类中和子类中使用 ?? @package?只能在框架(framework)内使用 ?? 2、对外提供getter、setter 继承 ?? is a ???单继承 多态 ???通过父类指针指向子类对象 多态的限制 ???无法获得子类定义的属性?? 抽象 补充: 源文件组织 一个类属于一个文件 ? @interface? ? ? ? .h ? @implementation ? .m 方法的名字 ?? setCpu: - (void)setCpu:(CPU *)cpu andVcard:(VideoCard *)vcard; ?? setCpu:cpu andVcard:vcard ?? setCpu: andVcard: 类之间的关系 ???继承关系 ???关联关系 ? ? ??将类作为属性 ? ? ??强关联(聚合) ? ? ??弱关联(组合) ???依赖关系1、isa self super isa ??是一个指针,指向一个struct objc_class ?? objc_class ? ? ? super_class ? ? ? name ? ? ? version ? ? ? instance_size ? Class?类 ??对象只有自己独有的属性 ??行为是共有的,在类里面有一个方法列表 ? isa指向了对象所属类 self ???是一个指针,指向了调用方法的对象 ? ? super ???可以理解是一个指针,指向父类 ???可以间接调用父类的行为 2、类方法 ??类可以拥有自己的方法 ??-?实例方法 ?? ??必须要有实例(对象)来调用 ??+?类方法 ?? ??只有类可以调用 ?? ??类方法中不能使用实例方法 ?? ??类方法中不能操作属性 ??类其实也是一个对象 ? ? obj_class?来描述类的样子 3、oc中的点语法 ???可以通过.操作属性 ???不能通过.调用普通方法 ?? .的本质 ?? ??不是直接操作属性 ?? ??调用setter?和?getter ?? ? setter = setAge ?? ? getter = age ?? ? d.age=12 = [d setAge:12]; ?? ? int a = d.age = [d age]; 4、@property ?? @property int age; ???自动生成 ? ? setAge: ? ? age ?? @synthesize age ???如果属性中有age,那么创建setAge,age ???如果没有age,会先创建age属性@private,在创建setAge,age ?? @synthesize age = _age ???如果属性中有_age,那么创建setAge,age ???如果没有_age,会先创建_age属性@private,在创建setAge,age ?? Xcode 4之后 ?? @property ???可以完成@property和@synthesize所有的功能 5、id ?? typedef struct objc_object *id ?? id是一种通用类型 ?? NSObject *?可能会有警告 ?? instancetype?一种通用类型 6、构造 ?? new ?? ??内存分配?+ alloc ?? ??属性初始化?- init ???重写init ?? ??给属性设置值就可以了 ?? ? return self ?? ? if(self=[super init]){ ? ? ? ? ? ?? ? } ?? ? return self; ???自定义自己的初始化方法 ? ?

文档评论(0)

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

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

1亿VIP精品文档

相关文档