OC 继承

#import <Foundation/Foundation.h>

@interface Person : NSObject
{
    int _age;
}

@end

@implementation Person

@end

@interface Student : Person
{
    int _age;
}
@end

@implementation Student

@end

这里 student 继承 person 并且两者都有一个一个成员变量 _age 这时候是不行的,程序报编译错误

11-封装.m:17:9: error: duplicate member '_age'
    int _age;
        ^
11-封装.m:5:9: note: previous declaration is here
    int _age;

这是跟 java 不一样的地方。

虽然有相同的属性是不行的,但是可以有相同的方法,如果方法相同,系统会采取就近原则,调用离的近的方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章