对象 与 方法
1. 对象和方法
1)对象,作为方法的参数
2)对象,作为方法的返回值
2. 类的本质是:我们自定义的1个数据类型。
因为对象在内存中的大小是由我们决定的,多写几个属性,对象就大一些,少写几个属性,对象占用的空间就小一些。
什么是数据类型?
是在内存中开辟空间的1个模板。
3. 类的对象作为方法的参数
既然类是一个数据类型,那么类就可以作为方法的参数。
例:
-(void)test: (Dog*)dog;
4. 语法注意:
1)当对象作为方法的参数的时候,参数该怎么写。
参数的类型是类指针。
-(void)test : (Dog *)dog;
2)调用方法的时候,如果方法的参数是1个对象。那么给实参的时候,实参要求也必须是1个符合要求的对象。
Person *p1 = [Person new];
Dog *p2 = [Dog new];
[p1 test: p2];
3)当对象作为方法的参数传递的时候,是地址传递。
所以,在方法内部通过形参去修改形参指向的对象的时候,会影响实参变量指向的对象的值。
5. 类的对象作为方法的返回值
1)什么时候方法的返回值是一个对象呢?
当方法执行完毕之后,如果有1个对象方法的内部不知道如何处理,并且这个对象是调用者翘首以盼的。那么这个时候,我们就应该将这个对象返回。
2)例如:上帝造人!
|
|