对象和方法之间的关系
2017-03-12 12:38
197 查看
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
相关文章推荐
- 二.OC基础--1,对象的存储细节,2,#pragma mark指令,3,函数和对象方法的区别,4,对象和方法之间的关系 ,5.课堂习题
- 对象与方法之间的关系
- OutMan——面向对象的三大特性、对象和对象之间的关系以及动态类型检测方法
- 黑马程序员——OC之对象和方法之间的关系
- 对象和方法之间的关系
- 类函数, 原型对象 与 构造方法之间的关系
- 黑马程序员-OC语言-对象和方法之间的关系(听课笔记)
- 黑马程序员--对象和方法之间的关系
- 对象和方法之间的关系
- 一道面试题:解析方法中对象存放以及堆栈之间的关系
- 李洪强iOS开发之OC[018]对象和方法之间的关系
- OC 类方法 对象方法 对象成员之间的关系
- jQuery对象之间的继承关系
- UML描述对象和类之间的相互关系
- [转]"此数据库没有有效所有者,因此无法安装数据库关系图支持对象"的解决方法
- 对象之间的关系有哪些,如何使用面向对象语言表达
- js的 function, javascript内置对象,this概念及之间的关系不再迷惑。
- 十:类型、对象、线程堆栈、托管堆栈之间运行时的相互关系(二)
- "此数据库没有有效所有者,因此无法安装数据库关系图支持对象"的解决方法
- "此数据库没有有效所有者,因此无法安装数据库关系图支持对象" 解决方法