刘小汶

路漫漫其修远兮,吾将上下而求索。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
    1. 对象具备多种形态就是多态;
    2. 没有继承就没有多态;
    3. 父类指针指向子类对象;Animal *a = [Dog new]; [a eat];
    4. 调用方法是会检测对象的真是形象;
    5. NSObject *n = [Dog new];
    6. NSObject *n = [Animal  new];
    7. OC是弱语法;runtime动态属性;只会出现警告,不会报错;
    8.  
    9. 多态的好处:
    10. 喂狗;喂猫;可以用喂动物来代替;因为猫和狗有共同父类;
    11. 如果参数中使用的是父类类型,可以传入父类,子类对象;
    12.  
    13. 多态的限制:
    14. 父类类型的变量不能用来调用子类的方法;Animal *aa = [Dog new];
    15. aa指向的是Animal类型;我们使用强制类型转换为Dog类型:
    16. Dog *dd = (Dog *)aa;
    17. 多态
    18. 没有继承就没有多态
    19. 代码的体现:父类类型的指针指向之类对象;
    20. 好处:如果函数、方法参数中使用的是父类类型,可以传入父类、子类对象;
    21. 局限性:父类类型的变量不能直接调用子类特有的方法;必须强转为子类类型变量后,才能直接调用子类类型方法;
posted on 2016-04-08 20:13  williamliuwen  阅读(204)  评论(0编辑  收藏  举报