OC语言的动态特性

  1. 动态类型
    Dynamic typing-determining the class of an object at runtime 运行时决定对象类型;
  2. 动态绑定
    Dynamic binging-determining the method to invoke at runtime 运行时决定方法调用;
  3. 动态加载
    Dynamic loading-adding new modules to a program at runtime 运行时加载新模块
详细理解 Objective-C 的3个动态特性
  1. 动态类型
    简单点说就是 id 类型,可以理解为通用对象类型,一旦被赋值,可以被强制转化为其他类型。可以通过[obj isKindOfClass:aClass],来判断其具体类型,做相应操作,在委托(delegate)中体现的比较充分;
  2. 动态绑定
    基于动态类型的,某个实例被确定后,其类型也是确定的,其对应的属性和方法将会因为类型的确定而确定,这就是动态绑定;
  3. 动态加载
    程序启动时动态加载可执行代码和资源. 如多国家语言的程序,会在程序启动时只加载设定为某一种语言的资源,而不是全部资源. 基于Utility Application 的程序,分别在 iPhone 和 iPad 上运行的时候,只会加载对应的代码和资源,当然兼容视网膜技术的@2x图片加载也是这样的;

你可能感兴趣的:(OC语言的动态特性)