A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

多态与类的本质
一、多态的概念:
  不同的对象以自己的方式响应父类同名的方法,就是多态
体现出来:
  父类的指针指向了子类的对象
多态的条件:
  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]; 调用类方法
  

2 个回复

倒序浏览
多谢分享,顶一下
回复 使用道具 举报
{:2_35:}{:2_35:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马