Приведенный ниже код из курса iTunes U для разработчиков iPhone в Objective-C. Я прочитал документацию Apple, и все очень ясно. за исключением себя. Я как бы понимаю себя как указатель на себя, но что именно это означает? Что именно означает «я» в приведенном ниже коде? В чем разница между self.topSpeed и self.nearestWormhole в файле реализации или self ссылается на одно и то же в обоих случаях? Относится ли self.topSpeed к планете *, а self.nearestWormhole - к червоточине *? Спасибо всем, кто ответит, я выучил C и теперь пытаюсь изучить ООП, поэтому любой ввод приветствуется.
(Header file)
#import "Vehicle.h"
#import "Planet.h"
@interface Spaceship : Vehicle
@property (nonatomic) double topSpeed;
- (void)orbitPlanet:(Planet *)aPlanet
atAltitude:(double)km;
@end
(Implementation file)
#import "Spaceship.h"
@interface Spaceship()
@property (nonatomic, strong) Wormhole *nearestWormhole;
@end
@implementation Spaceship
@synthesize topSpeed = _topSpeed;
@synthesize nearestWormhole = _nearestWormhole;
- (void)setTopSpeed:(double)speed
{
if ((speed < 1) && (speed > 0)) _topSpeed = speed;
}
- (void)orbitPlanet:(Planet *)aPlanet atAltitude:(double)km
{
double speed = self.topSpeed;
if (speed > MAX_RELATIVE) speed = MAX_RELATIVE;
[self.nearestWormhole travelToPlanet:aPlanet
atSpeed:speed];
}
@end