OC多态使用注意

来源:互联网 发布:linux文件列表 编辑:程序博客网 时间:2024/06/07 22:12

#import <Foundation/Foundation.h>


@interface Animal :NSObject

-(void)eat;


@end

@implementation Animal


-(void)eat{

   NSLog(@"吃东西");

}


@end


@interface Dog : Animal

-(void)eat;

@end

@implementation Dog

-(void)eat{

    NSLog(@"Dog吃东西");

}

@end


@interface Cat : Animal

-(void)eat;

@end

@implementation Cat


-(void)eat{

    NSLog(@"Cat-吃东西");

}


@end


int main(){

    

    NSString *s=[Catnew];//不会报错,oc的弱语法

    

    //多种形态

   Dog *d=[Dognew];//Dog类型

   NSObject *n=[Dognew];

    

    //多态:父类指针指向子类对象

   Animal *a=[Dognew];

    

    [deat];

    //[n eat];

    [a eat];//调用方法时检测对象的真实形象

   return 0;

}

0 0