IOs开发Objective-C基础之──多态
2013-04-18 20:45
267 查看
Objective-C中多态、动态类型和动态绑定是本文要介绍的内容,主要是俩学习Objective-C中的一些相关的内容,从而来学习Objective-C的使用方法,具体内容来看详细内容讲解。
一、多态
相同的名称、不同的类。使不同的类共享相同的方法名称的能力。
二、动态绑定和id类型
id——通用的对象类型,可以用来存储属于任何类的对象。如:id dataValue;(不用加*号)
三、编译时和运行时检查
存储在id变量中的对象类型在编译时无法确定,所以一些测试推迟到运行时进行。
四、id数据类型与静态类型
将一个变量定义为特定类的对象时,使用的是静态形态。
使用动态类型调用一个方法,注意规则:如果在多个类中实现名称相同的方法,那么每个方法都必须符合各个参数的类型和返回值类型。
五、有关类的问题
NSObject类所支持的一些基本方法。
要根据类名或另一个对象生成一个类对象,可以向它发送class消息。如:要从名为myClass的类中获得类对象,可编写:[myClass class];
六、使用@try处理异常
@try格式:
在@try块中加入这些statement后,程序正常执行。但如果块中某一条语句抛出异常,执行不会终止,而是立即跳到catch块,在那里继续执行。在@catch块内处理异常可行的执行程序是记录出错消息,清楚和终止执行。
@finally块包含是否执行抛出异常的@try块中语句代码。
@throw指令允许你抛出自己的异常,可以使用该指令抛出特定异常,或者在@catch块内抛出带你进入类似如下的代码的异常:#throw;
小结:解析Objective-C中多态、动态类型和动态绑定的内容介绍完了,希望通过本文的学习能对你有所帮助。
一、多态
相同的名称、不同的类。使不同的类共享相同的方法名称的能力。
二、动态绑定和id类型
id——通用的对象类型,可以用来存储属于任何类的对象。如:id dataValue;(不用加*号)
三、编译时和运行时检查
存储在id变量中的对象类型在编译时无法确定,所以一些测试推迟到运行时进行。
四、id数据类型与静态类型
将一个变量定义为特定类的对象时,使用的是静态形态。
使用动态类型调用一个方法,注意规则:如果在多个类中实现名称相同的方法,那么每个方法都必须符合各个参数的类型和返回值类型。
五、有关类的问题
NSObject类所支持的一些基本方法。
-(BOOL) isKindOf:class-object(判断对象是否是class-object或其子类的成员) -(BOOL) isMenberOfClass:class-object(判断对象是否是class-object的成员) -(BOOL) respondsToSelector:selector(判断对象是否能够响应selector所指定的方法) +(BOOL) instancesRespondToSelector:selector(判断指定的类实例是否能响应selector所指定的方法) +(BOOL) isSubclassOfClass:class-object(判断对象是否是指定类的子类) -(id) performSelector:selector(应用selector指定的方法) -(id) performSelector:selector withObject:object(应用selector指定的方法,传递参数object) -(id) performSelector:selector withObject:object1 withObject:object2(应用selector指定的方法,传递参数object1和object2)
要根据类名或另一个对象生成一个类对象,可以向它发送class消息。如:要从名为myClass的类中获得类对象,可编写:[myClass class];
六、使用@try处理异常
@try格式:
@try{ statement statement …… } @catch(NSException *exception){ statement statement ……
在@try块中加入这些statement后,程序正常执行。但如果块中某一条语句抛出异常,执行不会终止,而是立即跳到catch块,在那里继续执行。在@catch块内处理异常可行的执行程序是记录出错消息,清楚和终止执行。
@finally块包含是否执行抛出异常的@try块中语句代码。
@throw指令允许你抛出自己的异常,可以使用该指令抛出特定异常,或者在@catch块内抛出带你进入类似如下的代码的异常:#throw;
小结:解析Objective-C中多态、动态类型和动态绑定的内容介绍完了,希望通过本文的学习能对你有所帮助。
相关文章推荐
- IOS开发Objective-C基础之──多态
- iOS开发Objective-C基础之──多态
- IOs开发Objective-C基础之──多态
- iOS开发Objective-C基础之──多态
- Objective-C(三、类与继承,基类,self、super关键字,多态,组合)——iOS开发基础
- IOS开发基础之──NSLog 输出格式详解
- Objective-C ,ios,iphone开发基础:Category(分类,类别,范畴) ,UINavigationBar设置背景图片适配
- Objective-C ,ios,iphone开发基础:使用第三方库FMDB连接sqlite3 数据库,实现简单的登录
- Objective-C ,ios,iphone开发基础:快速实现一个简单的图片查看器
- Objective-C,ios,iphone开发基础:分类(category,又称类别)
- Objective-C ,ios,iphone开发基础:UIAlertView使用详解
- Objective-C(十三、字典类)——iOS开发基础
- Objective-C(五、@class,id类型,类对象构造方法,加载和初始化,description,Logging宏)——iOS开发基础
- Objective-C ,ios,iphone开发基础:JSON解析(使用苹果官方提供的JSON库:NSJSONSerialization)
- iOS开发系列—Objective-C之基础概览oc格式化输出例子
- iOS开发-基础:Objective-c单例模式的正确写法
- IOS开发开篇之Objective-C语法基础
- Objective-C ,ios,iphone开发基础:UIAlertView使用详解
- IOS开发系列—Objective-C之基础概览
- [置顶] Objective-C ,ios,iphone开发基础:UIAlertView使用详解