相同类型调用同一个方法呈现多种不同的行为特征就是多态
当子类对象直接赋值给父类指针变量,父类 *p = [子类 new];,运行类型是子类,编译类型是父类,所以p不能调用子类单独实现的方法,如果子类重写了父类方法,p调用的方法会是子类重写的方法
isKindOfClass:clazz
判断该对象是否为clazz或者其子类的实例
KFBase.h
KFBase.m
SubClass.h
SubClass.m
main.m
相同类型调用同一个方法呈现多种不同的行为特征就是多态
当子类对象直接赋值给父类指针变量,父类 *p = [子类 new];,运行类型是子类,编译类型是父类,所以p不能调用子类单独实现的方法,如果子类重写了父类方法,p调用的方法会是子类重写的方法
isKindOfClass:clazz
判断该对象是否为clazz或者其子类的实例
KFBase.h
KFBase.m
SubClass.h
SubClass.m
main.m