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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 永远不会贬值 中级黑马   /  2014-5-31 19:05  /  2534 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 永远不会贬值 于 2014-6-2 00:39 编辑

set方法是给成员变量进行赋值,构造方法是初始化时进行赋值
但是感觉都差不多 ,不知道有什么区别,在什么时候用什么方法,
有大神能帮忙解答一下吗,谢谢。

9 个回复

倒序浏览
set 方法学到了property 就不长用了,太麻烦。他的作用是设置一个方法给成员变量赋值,可以再方法里面进行参数的过滤。


构造方法是把new 拆开 ,分成  +alloc   和   - init  。
它分两个,一个是固定值构造方法,一个是自定义构造方法。
作用是给让成员变量的默认值由默认为0,到你想设置成什么就是什么
比如说想让它的值变为10 ,可以用固定值,重写init方法。
让它的值随时改变,可以用自定义构造方法。

回复 使用道具 举报
偶帮不了你啦、、、、
回复 使用道具 举报
当你声明一个类是,类里边的属性,开始是init就是构造方法用来对初始化的,是对象方法。
而如果你重写了构造方法init
-(id)init
{
      self =[super inti];//这是调用父类的init方法
      if(self !=nil)
      {
          _age = 10;
       }
}
这样初始化之后,属性的初值是你自己定义的。而不是系统给定义的了。。所以还是有区别的
回复 使用道具 举报
这个很简单啊,set方法只能设置一个成员变量的值,而构造函数可以一次给很多成员变量设置值,相对而言更灵活吧
比如说你写了一个构造函数,初始化好几个成员变量,当然比你一个一个调用set要方便的多!
回复 使用道具 举报
⒈心只霸占沵 发表于 2014-6-1 18:42
这个很简单啊,set方法只能设置一个成员变量的值,而构造函数可以一次给很多成员变量设置值,相对而言更灵 ...

我可以说下签名很不错嘛?
回复 使用道具 举报
詹绪长 发表于 2014-6-1 18:45
我可以说下签名很不错嘛?

呵呵,谢谢
回复 使用道具 举报
谢谢大家的回答。
回复 使用道具 举报
支持一下
回复 使用道具 举报
构造方法多用在对象初始化构造时吧,这个时候也可以用set,用构造方法代码相对简洁点。而当对象在使用中需要修改属性值的话,这个时候就必须用set了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马