我不明白爲什麼B類可以訪問A類私有實例變量。 這裏是我的代碼訪問父類的私有實例變量
A.H
#import <Foundation/Foundation.h>
@interface A : NSObject
{
@private
int x;
}
@property int x;
-(void)printX;
@end
時三十分
#import "A.h"
@implementation A
@synthesize x;
-(void)printX
{
NSLog(@"%i", x);
}
@end
B.h
#import "A.h"
@interface B : A
{
}
@end
的main.m
B *tr = [[B alloc] init];
tr.x = 10;
[tr printX];
在這裏我可以訪問A類x的實例變量,儘管它被聲明爲私有?