不容易啊
#import <Foundation/Foundation.h> #pragma mark- 枪类声明 @interface Gun:NSObject { @public NSString *_size; //枪的属性 int _blletcount; } -(void)shoot;//枪的行为 @end #pragma mark -枪类实现 @implementation Gun -(void)shoot{ if(_blletcount>0) { _blletcount--;//每次开枪子弹会减少,会出现负数,所以需要条件判断 NSLog(@"\n%@突击步枪正在 .. 哒哒哒.. 射击,现在还有 %d 发子弹",_size,_blletcount);//枪射击 }else{ NSLog(@"\n都没有子弹了,你还打个毛线啊"); } } @end #pragma mark -士兵类声明 @interface Soldier:NSObject { @public NSString *name;//士兵属性 int life; int level; } -(void)fireByGun:(Gun *)gun;//士兵行为,士兵需要传一个枪的参数才能开枪 @end #pragma mark -士兵类实现 @implementation Soldier -(void)fireByGun:(Gun *)gun { [gun shoot]; } @end
int main(int argc, const char * argv[]) { @autoreleasepool { //创建士兵对象 Soldier *s=[Soldier new]; s->life=99; s->level=3; s->name=@"赵子龙"; //创建枪的对象 Gun *g=[Gun new]; g->_size=@"95式"; g->_blletcount=3; //士兵开枪 [s fireByGun:g]; [s fireByGun:g]; [s fireByGun:g]; [s fireByGun:g]; [s fireByGun:g]; [s fireByGun:g];
} return 0; }
|