黑马程序员_iOS_OC_继承_方法重写与覆盖

来源:互联网 发布:新创易网络 编辑:程序博客网 时间:2024/05/16 15:27
Son.h
#import <Foundation/Foundation.h>//导入父类的头文件#import "Father.h"@interface Son : Father@property() char *sonName;@end

Son.m

#import "Son.h"@implementation Son//当从父类继承过来的方法不能满足//子类的需求时,就需要重写也叫覆盖。-(void)showName{    //重新实现一下它的功能 这个过程就叫重写,也叫覆盖。    NSLog(@"这是子类中得方法");    printf("sonName = %s\n",_sonName);}@end

Father.h

#import <Foundation/Foundation.h>@interface Father : NSObject@property() char *name;//声明一个- 方法用输出姓名-(void)showName;@end

Father.m

#import "Father.h"@implementation Father-(void)showName{    NSLog(@"我是父类中得showName");    printf("name = %s\n",_name);}@end

main.m

#import <Foundation/Foundation.h>#import "Father.h"#import "Son.h"int main(int argc, const char * argv[]){    @autoreleasepool {      //1.创建父类的对象        Father *father = [[Father alloc] init];        father.name = "父类";        [father showName];            //2.创建一个子类的对象        Son *son = [[Son alloc] init];        son.sonName = "子类的名字";        [son showName];        //子类重写方法以后会覆盖掉父类中的内容。子类        //中方法优先起作用,父类中原来的方法不起作用了。        //重写以后 只对子类有影响        [father showName];    }    return 0;}


0 0