zoukankan      html  css  js  c++  java
  • OC的类

    #import <Foundation/Foundation.h>
    
    typedef enum{
        kSoldierLevel1,
        kSoldierLevel2,
        kSoldierLevel3
    }SoldierLevel;
    
    @interface Gun : NSObject
    {
        @public
        int _bulletCount;
    }
    
    - (void)shoot;
    
    @end
    
    @implementation Gun
    
    - (void)shoot
    {
        if (_bulletCount > 0) {
            _bulletCount--;
            NSLog(@"砰");
        }else{
            NSLog(@"子弹打完了");
        }
    }
    
    @end
    
    @interface Shop : NSObject
    
    - (Gun *)buyGun;
    
    - (void)buyBullet:(Gun *)gun;
    
    @end
    
    @implementation Shop
    
    - (Gun *)buyGun
    {
        Gun *gun = [Gun new];
        // 买枪送子弹
        [self buyBullet:gun];
        return gun;
    }
    
    - (void)buyBullet:(Gun *)gun
    {
        gun->_bulletCount = 1;
    }
    
    @end
    
    @interface Soldier : NSObject
    {
        @public
        NSString *_name;
        SoldierLevel _level;
    }
    
    - (void)fireWithGun:(Gun *)gun;
    
    @end
    
    @implementation Soldier
    
    - (void)fireWithGun:(Gun *)gun
    {
        NSLog(@"士兵%@开枪射击", _name);
        [gun shoot];
    }
    
    @end
    
    
    int main(int argc, const char * argv[])
    {
        Shop *shop = [Shop new];
        Gun *gun = [shop buyGun];
        
        Soldier *soldier = [Soldier new];
        soldier->_name = @"ShuaiGeqi";
        soldier->_level = kSoldierLevel1;
        
        [soldier fireWithGun:gun];
        
        [soldier fireWithGun:gun];
        
        return 0;
    }
    

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    vue 響應接口
    vue ajax
    vue混入
    vue動畫和過渡
    vue路由
    vue自定義指令
    python项目_使用极验验证码
    python项目_使用异步功能,celery
    python项目_集成短信发送功能
    python项目_redis使用
  • 原文地址:https://www.cnblogs.com/liuqblog/p/4948152.html
Copyright © 2011-2022 走看看