您的位置:首页 > 其它

四、多态、动态类型和动态绑定

2011-08-14 10:50 232 查看
 
多态、动态类型和动态绑定

一、多态

多态在面向对象语言中,接口的多种不同的实现方式即为多态。也就是说,假如去医院看病,同样是看病,要进不同的门诊去看,门诊就是为了实现看病这个功能的接口,不同的病人选择适合自己的门诊,就是这个道理。

 

注意:

1、  在同一个类中,我们通过相同的函数名,不同的参数或者相同的参数不同的类型;

2、  Import两个不用的类,两个类中可以包含相同的函数名,根据输出调用的时候自动判别属于哪个类来输出。以下事实:objective-c系统内系统总是跟踪对象所属的类,也就是说,先判定对象所属的类,并因此确定运行而不是编译时需要动态调用的方法。

3、  两种方法调用的意思:[f1 setTo : 2 over:5];  2/5     [c1 setReal:10.0 andImaginary:2.5]; 10+2.5i

4、  Id类型在定义的时候前面不需要加上*。

 

 

 

 

二、动态

Id数据类型与静态类型(为什么不全部用id)

Id类型能够表示全部的数据类型,为什么不全部使用id类型呢?

1、  静态类型能更好地在程序编译阶段而不是在运行时指出错误。如果把它留到运行时,即使没有错误,在使用的过程中用户会发现有一些特定的对象不能够被识别。

2、  使用静态类型的另一个原因是因为他能够提高程序的可读性;

 

 

 

类的一些使用

[mysquare class] 可以知道属于哪个类;

[myfraction isMemberOf:[fraction class]] 可以知道myfraction是不是fraction的实例;

 

 

 

@try处理异常

结构如下:

 

@try

{

执行体;

}

@catch(NSException *exception)

{

异常抛出执行体;

}

 

把执行代码用@try包括起来,当执行中出现异常的时候,就立刻跳转到@catch中,然后在这里对于异常的处理编写代码。

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  exception class import 语言 c