• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ObjectiveC基础教程

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

复合

使用复合可组合多个对象,使之人工协作。

会同时使用继和复合来创建自己的类。

编程中的复合就好像音乐中的作曲一样;将多个组件组合在一起配合使用。

在Objective-C中,复合是通过包含作为实例变量的对象指针实现的。
@interface Unicycle : NSObject

{

  Pedal *pedal;

  Tire *tire;

}


@end

pedal 和tire通过复合的方式组成了Unicycle(独轮车)

Car 程序

如何搭建汽车模型。

CarParts 包含在主程序mainCarParts.m中。

#import <Foundation/Foundation.h>

@interface Tire : NSObject

@end

@implementation Tire

- (NSString *) description

{

  return (@"I am a tire. Ilast a while");

}

@end

Tire类中唯一的方法是description,没有在接口中声。

Cocoa神奇的帮助

自定义NSLog()

通过NSLog()可以使用%@格式符来输出对象.

%@会询问参数列表中相应的对象以得到这个对象的描述。

从技术上讲,就是NSLog()给这个对象发送描述消息,然后对象的description方法生成一个NSString并返回。

在类中添加description方法就可以自定义NSLog()如何输出对象

在自定义的description方法中,你可以选择返回一个字面值NSString.如@"I am a cheese Danish Object"
,也可以构造一个描述该对象所有此类消息的字符串。

在Cocoa中,NSArray类管理的是对象集合。

它的description

 方法调度

当代码发送消息时,Objetive C的方法调度程序将在当前类中搜索相应的方法。

如果高度程序无法在接收消息的对象类中找到相应的方法,它就在该对象的超类中进行[。

[shape setFillColor:kRedColor] Objective -c 方法调度程序将查找接收该消息的对象Circle类有一个指向其它代码的指针,

消息

实例变量

创建一个新类时,其对象首先从自身的超过类中继承实例变量,然后添加它们自己的实例变量。

@interface RoundedRectagnle : shape

{

  int radius;

}

@end

内存布局

继承在子类和超类之间建立了一种"isa"关系, 所以NSobject的实例变量称为isa

使用更具体种类的对象,称为多态

 

每个方法调用都获得一个名为self的隐藏参数,它是一个指向接收消息的对象的指针方法使用self参数来查找它们要使用的实例变量 ,

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Objective-C中使用不定参数个数的方法调用发布时间:2022-07-12
下一篇:
Google Objective-C编码规范发布时间:2022-07-12
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap