<span style="font-size:32px;">@interface OrdinaryZombie : NSObject
{
NSString *_species; //種類
NSInteger _totalVolume; //總血量
NSInteger _everyTimeLoss; //每次失血量
}
//初始化
- (id)initWithSpecies:(NSString *)species totalVolume:(NSInteger)totalVolume;
- (void)seteveryTimeLoss:(NSInteger)everyTimeLoss;
//讀取
- (NSString *)species;
- (NSInteger)totalVolume;
- (NSInteger)everyTimeLoss;
//被打擊失血
- (NSInteger)bloodLoss;
- (void)death;
@end
</span>
<span style="font-size:32px;">@implementation OrdinaryZombie
- (id)initWithSpecies:(NSString *)species totalVolume:(NSInteger)totalVolume
{
_species = species;
_totalVolume = totalVolume;
return self;
}
- (NSString *)species
{
return _species;
}
- (NSInteger)totalVolume
{
return _totalVolume;
}
- (void)seteveryTimeLoss:(NSInteger)everyTimeLoss
{
_everyTimeLoss = everyTimeLoss;
}
- (NSInteger)everyTimeLoss
{
return _everyTimeLoss;
}
- (NSInteger)bloodLoss
{
NSInteger i = 0;
while (_totalVolume > 0) {
_totalVolume -= _everyTimeLoss;
i++;
}
return i;
}
- (void)death
{
NSLog(@"殭屍死亡");
}
@end
@autoreleasepool {
OrdinaryZombie *or = [[OrdinaryZombie alloc] initWithSpecies:@"普通殭屍" totalVolume:50];
NSLog(@"%@,%ld",[or species],[or totalVolume]);
NSLog(@"殭屍來襲,準備攻擊");
[or seteveryTimeLoss:3];
NSLog(@"被打擊掉血%ld",[or everyTimeLoss]);
NSLog(@"被打擊%ld次之後",[or bloodLoss]);
[or death];</span>