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

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

一、多态

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

 

注意:

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

{

执行体;

}

@catchNSException *exception

{

异常抛出执行体;

}

 

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

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值