Наследование переменных экземпляра в Objective-c

В Objective-c 2.0 почему подклассам необходимо ссылаться на переменные экземпляра в родительских классах с помощью ключевого слова self ?

Рассмотрим следующий пример:

// a.h
@interface MyClass : NSObject
@property (nonatomic, retain) Object *myObject;
@end

// a.m
@implementation MyClass
@synthesize myObject;
@end


// b.h
@interface AnotherClass : MyClass
@end

// b.m
@implementation AnotherClass
- (void) someMethod {
    // error
    // Object *obj = myObject;

    // works
    // Object *obj = self.myObject;
}
@end
11
задан SundayMonday 14 December 2011 в 21:32
поделиться