7-4 动态绑定和id类型

动态绑定和id类型

#import 
#import "MyClassA.h"
#import "MyClassB.h"
//  动态绑定和id类型
//多态形式: id指向子类,打印子类对应的方法
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        id c = [[MyClassA alloc]init];
        [c print];
        
        c = [[MyClassB alloc]init];
        [c print];
    }
    return 0;
}
#import 

@interface MyClassA : NSObject 
-(void)print;
@end

#import "MyClassA.h"

@implementation MyClassA
-(void)print
{
    NSLog(@"MyClassA");
}
@end
#import 
@interface MyClassB : NSObject 
-(void)print;
@end
#import "MyClassB.h"
@implementation MyClassB
-(void)print
{
    NSLog(@"MyClassB");
}
@end
7-4 动态绑定和id类型_第1张图片
动态绑定和id类型.png

你可能感兴趣的:(7-4 动态绑定和id类型)