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;
    }
    

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

  • 相关阅读:
    USACO6.4-The Primes
    ZOJ2112--Dynamic Rankings (动态区间第k大)
    Havel定理
    HDU5107---K-short Problem (线段树区间 合并、第k大)
    POJ2104-- K-th Number(主席树静态区间第k大)
    poj2409 & 2154 polya计数+欧拉函数优化
    CodeForces
    HDU
    HDU
    Gym
  • 原文地址:https://www.cnblogs.com/liuqblog/p/4948152.html
Copyright © 2011-2022 走看看