1、多态的条件:
有继承关系,有方法重写
父类的声明变量指向子类对象
2、多态的优点:
简化变成接口,允许类与类之间重用习惯性的明明
可以分散在不同的对象中,不用试图在一个函数中考虑所有的对象
3、多态的原理:
动态绑定:
动态类型能使程序直到执行时才确定对象所属类型
动态类型绑定能使程序执行时才确定要对对象调用的实际方法
OC不同于传统程序设计语言,它可以在运行时加入新的数据类型和心的程序模块:动态类型识别、动态绑定、动态加载
id类型:通过指针类型,弱类型,编译时不进行类型检查
4、多态的注意点
[(Cat *)c1 jump];//当父类非要用子类特有的类型时 强制类型转化
1、如果存在多态,父类是可以访问子类特有的方法的
2、如果不存在多态,父类是不可以访问子类特有的方法的
练习:
上帝杀教师/学生/医生
上帝杀人(人 用 Person 编译是person 运行执行其真正的方法)
时间: 2024-10-13 16:01:41