Object-c动态特性
2016-03-09 14:36
405 查看
Object-c动态特性
动态绑定
实际的程序会使用各种各样的类的实例对象,所有的这些对象都可以用id类型来表示,因为id是通用的对象类型,可以用来存储任何类的对象。但是这样一来,程序中就会出现无法区分某个实例对象到底是哪个类的对象的情况。
Object-c中的消息是在运行时才去绑定的。运行时系统首先会确定接受者的类型(动态类型识别),然后根据消息名在类的方法列表里选择相应的方法执行,如果没有找到就到父类中继续寻找,假如一直找到NSObject也没有找到要调用的方法,就会报告不能识别消息的错误。
动态绑定(dynamic binding)指的就是在程序执行时才确定对象属性和需要响应的消息。
多态
在面向对象的程序设计理论中,多态(polymor phism)是指,同一操作作用于不同的类的实例时,将产生不同的执行结果。即不同类的对象收到相同的消息时,也能得到不同的结果
相关文章推荐
- block使用技巧
- 《从零开始学Swift》学习笔记(Day 70)——Swift与Objective-C混合编程之Swift与Objective-CAPI映射
- 《从零开始学Swift》学习笔记(Day 69)——Swift与Objective-C混合编程之语言
- Objective-C之block详细介绍
- Objective-C代码,最终会被转换为机器代码 —— 由ARM处理器能识别的1和0组成
- [Objective-C]关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)
- object_id
- Object-C 中各数据类型转换 NSData转NSString,Byte,UIImage
- GitHub 上排名前 100 的 Objective-C 项目简介
- 为什么客户端解析Json数据的时候没办法得到JSONObject
- ObjectAnimator
- ateObjectsUsingBlock 、for 、for(... in ...) 的区别 & 性能测试 for VS for(... in ...)
- scrollview滚动图片切换
- Objective-C Block基本用法
- 使用objc_getAssociatedObject, objc_setAssociatedObject动态扩展属性
- iOS 开发--Objective-C 反射机制
- object references an unsaved transient instance - save the transient instance before flushing
- Objective-C 中self.与_访问方式的区别
- 读论文BinarizedNormedGradientsforObjectnessEstimationat300fps
- IOS,Objective-C,相册功能的实现。