#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 不一样的地方。
虽然有相同的属性是不行的,但是可以有相同的方法,如果方法相同,系统会采取就近原则,调用离的近的方法。