A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ioszhangtao 中级黑马   /  2015-12-23 00:49  /  471 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

不容易啊
#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;
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马