黑马程序员技术交流社区
标题:
多态笔记大家共享,错误之处望多多指教
[打印本页]
作者:
liruixue
时间:
2015-12-1 15:48
标题:
多态笔记大家共享,错误之处望多多指教
多态与类的本质
一、多态的概念:
不同的对象以自己的方式响应父类同名的方法,就是多态
体现出来:
父类的指针指向了子类的对象
多态的条件:
1)有继承关系
2)有方法重写(子类把父类的同名方法给重写了)
多态的使用注意:
Animal *an=[Dog new];
当an调用Dog独有的方法而Animal没有的方法,编译器会报错
[ (Dog *)]用Dog强制转换就可以调用
Animal *an=[Animal new];
当an 调用Dog独有的方法时会报错,当强制转换后编译器不会报错但是还是错误的
二、类的本质
1.类对象的获取方法
1)类对象属于Class类型,通过实例对象来获取
定义了Dog类,实例对象 Dog d=[Dog new]; Dog d1=[Dog new];
Class c1=[d class]; //Dog
Class c2=[d class]; //Dog
通过哪个对象获取的都是Dog对象
2)通过类名来获取类对象
Class c3=[Dog class]; ///Dog
2.获取类对象
Class c1=[Person class];
使用类对象创建实例对象
Person *p=[c1 new]; //c1相当于Person
[p test]; 调用对象方法
[c1 test]; 调用类方法
作者:
huqianqian
时间:
2015-12-1 17:19
多谢分享,顶一下
作者:
tangtang.
时间:
2015-12-2 11:30
{:2_35:}{:2_35:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2