多态

来源:互联网 发布:mysql strict mode 编辑:程序博客网 时间:2024/05/21 22:44
/*  多态:多种形态(建立在继承的基础之上)  多态的体现:父类指针指向子类,每个OC对象都有多态性  多态的局限性:父类指针不能直接调用子类特有的方法,如果要正常调用子类特有的方法              需要将父类指针强制转换为子类指针 */#import<Foundation/Foundation.h>@interface Zoombie:NSObject-(void)walk;@end@implementation Zoombie-(void)walk{    NSLog(@"僵尸走几步,,,,");}@end@interface JumpZoombie:Zoombie-(void)walk;@end@implementation JumpZoombie-(void)walk{    NSLog(@"僵尸跳几步,,,");}@endint  main(){    //第一种状态    JumpZoombie *jump = [JumpZoombie new];    [jump walk];    //第二种状态:父类指针指向子类对象    //Zoombie 类型的指针指向了新建的对象    Zoombie *j = [JumpZoombie new];    /*     这个方法在执行的过程中,执行一个“动态绑定”;     动态绑定就是检测指针所指对象的对象是什么类型,该对象实质是JumpZoombie创建的对象,所以指针指向JumpZoombie对象,所以 调用该对象中的方法;     */    [j walk];    return 0;}

运行结果

1 0
原创粉丝点击