下面的代码来自Objective-C中iPhone开发的iTunes U课程.我已经阅读了Apple文档,除了self之外,它都非常清楚.我有点理解自我是指向自己的指针,但究竟是什么意思呢?在下面的代码中,自我意味着什么?self.topSpeed和self.nearestWormhole在实现文件中有什么区别,或者在两种情况下self都指向同一个东西?self.topSpeed是指Planet*和self.nearestWormhole是指虫洞*?感谢任何回答的人,我已经学会了C,现在正在努力学习OOP,所以任何输入都会受到赞赏.
(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
Run Code Online (Sandbox Code Playgroud)