iOS基础学习

Objective-C基础学习之对象和方法之间的关系

2017-09-08  本文已影响4人  WenJim

1.对象作为方法的参数

int main(int argc, const char * argv[])
{
    //    1.创建士兵对象
    Soldier *s1 = [Soldier new];
    s1->_name = @"jack";
    s1->_life = 10;
    s1->_level = kSoldierLevel1;

    //    2.创建枪对象
    Gun *gun = [Gun new];
    gun->_bulletCount = 100;

    //    3.射击
    [s1 fireByGun:gun];
}

@implementation Soldier

- (void)fireByGun:(Gun *)gun
{
    [gun shoot];
}

@end

2.对象作为方法的返回值

对象可以作为方法的返回值;
对象返回值的实质是返回指向该对象的指针,该对象是存储在堆内存中的。
由于堆内存是由程序员管理的,所以它不会因为函数结束而被销毁

@implementation Shop

- (Gun *)buyGun
{
    Gun *gun = [Gun new];
    gun->_bulletCount = 100;
    return gun;
}

@end
上一篇 下一篇

猜你喜欢

热点阅读