【发布时间】:2014-08-07 22:43:50
【问题描述】:
在一个子类中,我需要重写一个属性获取器。孩子需要比较父母的价值并决定是返回它还是返回其他东西。
在下面的例子中,我有一个 Person 有一个 Heart。 Person 和 Heart 都派生自 Unit。 人的修改日期是他整个身体和他所有器官的后者(在这个例子中他只有一个器官 - 心脏)。问题是自动生成的指针_dateModified 没有为子类声明。
@interface Unit
@property (nonatomic, strong) NSDate* dateModified;
@end
@interface UnitHeart : Unit
@end
@interface UnitPerson : Unit
@property (nonatomic, strong) UnitHeart* heart;
@end
@implemenentation UnitPerson
- (NSDate*)dateModified
{
if (_dateModified.timeIntervalSince1970 > self.heart.timeIntervalSince1970) {
return _dateModified;
} else {
return self.heart.dateModified;
}
}
@end
【问题讨论】:
标签: objective-c inheritance properties overriding