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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

#import <Foundation/Foundation.h>
#pragma mark - 子弹类
//子弹类的声明
@interface Bullet:NSObject
{
    @public
    //子弹个数
    int _bulletCount;
   
    //子弹的型号
    NSString *_model;

}
@end

//子弹类的实现
@implementation Bullet
@end


#pragma mark - 枪类
//枪类的声明
@interface Gun:NSObject
{
@public
    //型号
    NSString *_size;
   
}

//行为
-(void)shoot:(Bullet *)bullet;
@end

//枪类的实现
@implementation Gun
//行为
-(void)shoot:(Bullet *)bullet{
   
    //开枪应该做哪些事情?
   
    //如果 子弹的个数 > 0 可以减-1
    if(bullet->_bulletCount>0){
        
        // 1) 子弹数 -1
        bullet->_bulletCount --;  // bullet->_bulletCount = billet->_bulletCount -1;
        // 2) 打印机剩余的子弹数
        NSLog(@"biu biu biu....剩余子弹数:%d",bullet->_bulletCount);
        
    }else{
        
        NSLog(@"都没有子弹了,你还突突个毛线~");
        
    }
   
}
@end


#pragma mark - 士兵类
//士兵类的声明
@interface Soldier:NSObject
{
@public
    //     姓名(_name)
    NSString *_name;
    //    life
    int _life;
    //    level(等级)
    int _level;
   
}

//开枪的行为
//传递了两个参数
// 第一个为:枪
// 第二个为:子弹
-(void)fireByGun:(Gun *)gun andBullet:(Bullet *) bullet;

@end


//士兵类的实现
@implementation Soldier
//开枪的行为
-(void)fireByGun:(Gun *)gun andBullet:(Bullet *)bullet{
   
    //让枪射击
    //把子弹传递给 枪
    [gun shoot:bullet];
   
}

@end


int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        //创建大兵
        Soldier *xsd  = [Soldier new];
        xsd->_name = @"许三多";
        
        //创建一个子弹类
        Bullet *bullet = [Bullet new];
        bullet->_bulletCount = 3;
        
        
        //创建一把枪
        Gun *ak47 = [Gun new];
        ak47->_size = @"ak-47";
      
        
        [xsd fireByGun:ak47 andBullet:bullet]; //士兵开枪
        [xsd fireByGun:ak47 andBullet:bullet]; //士兵开枪
        [xsd fireByGun:ak47 andBullet:bullet]; //士兵开枪
        [xsd fireByGun:ak47 andBullet:bullet]; //士兵开枪

        
    }
    return 0;
}

4 个回复

倒序浏览
加油!一起努力吧!写的很好啊
回复 使用道具 举报
lumangmang 发表于 2015-10-15 11:54
加油!一起努力吧!写的很好啊

加油,一起努力!!!!!!!!!
回复 使用道具 举报
加油,一起努力!!!!!!!!!!!!!!!!!
回复 使用道具 举报
注释写的真到位
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马