黑马程序员技术交流社区

标题: 对象作为方法的参数/返回值 [打印本页]

作者: 梦里花落知多少s    时间: 2016-9-26 19:21
标题: 对象作为方法的参数/返回值
  对象 与 方法


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)例如:上帝造人!



作者: will123    时间: 2016-10-3 23:27
上帝造人。上帝杀人。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2