黑马程序员技术交流社区

标题: 多态笔记大家共享,错误之处望多多指教 [打印本页]

作者: 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