A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© luronghua 中级黑马   /  2016-7-14 23:47  /  894 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

关于方法:

在编写新方法时,省略参数名不是一种好的编程风格,因为它是程序很难读懂并且很不直观,特别是当使用的方法参数特别重要时,更是如此。

[aFraction set:1 :3]这是不好的

[aFraction set:1 over:3]这是好的


- (void)add:(Fraction *)f;

这条语句说明add:方法的参数是Fraction类对象的一个引用。星号是必须的,所以声明(Fraction) f是不正确的。


局部变量:

局部变量是基本的C数据类型,并没有默认的初始值,所以在使用前要先赋值。局部对象变量默认初始化为nil。和实例变量不同(它们在多次方法调用时保持自己的值),这些局部变量没有记忆力。也就是说,当方法返回时,这些变量的值都消失了。每次调用方法时,该方法中的局部变量都使用变量声明重新初始化一次。


方法的参数:

方法的参数名也是局部变量。执行方法时,通过方法传递的任何参数都被复制到局部变量中。因为方法使用参数的副本,所以不能改变通过方法传递的原值。这一点很重要。

另外,如果参数是对象,可以更改其中的实例变量值。当你传递一个对象作为参数时,实际上是传递了一个数据存储位置的引用。正因为如此,你才能够修改这些数据。



1 个回复

倒序浏览
赞赞赞赞赞赞赞赞赞赞赞赞
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马