OC继承

OC和C++一样,可以多态,但不能多继承。但好像可以通过协议实现(学会了再加到这里)。

下面是一个简单的继承例子:NSObject-->A-->B。

另外子类的变量可以指向一父类的值,这点和C++一样,调用的也是父类的方法。

//
//  main.m
//  Hello Objective-C
//
//  Created by admin on 2020/11/16.
//

#import <Foundation/Foundation.h>


@interface classA : NSObject

-(void) printA;
-(void) print;
@end

@implementation classA

-(void) print{
    NSLog(@"%@", @"print");
}

-(void) printA{
    NSLog(@"%@", @"printA");
}

@end


@interface classB : classA

@end

@implementation classB

-(void) printB{
    NSLog(@"%@", @"printB");
}

-(void) print{
    NSLog(@"%@", @"printprint");
}

@end
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        classA *x = [classA new];
        [x printA];
        classB *y = [classB new];
        [y print];
        classB *z = [classA new];
        [z print];
    }
    return 0;
}

 

posted @ 2020-11-26 17:34  NeoZy  阅读(106)  评论(0编辑  收藏  举报