首页 > 代码库 > 对象和方法之间的关系
对象和方法之间的关系
1.对象作为方法的参数
- 对象作为方法参数传递是地址传递,因为对象是一个指针变量
- 在方法内部,可以通过对象形参,访问该对象的成员变量(如果该对象的该成员变量的访问权限是public的)
- 在方法内部,可以通过对象形参,调用该对象上的方法(给这个对象发送消息)
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
对象和方法之间的关系
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。