黑马程序员技术交流社区

标题: 关于set方法 和 构造方法 [打印本页]

作者: 永远不会贬值    时间: 2014-5-31 19:05
标题: 关于set方法 和 构造方法
本帖最后由 永远不会贬值 于 2014-6-2 00:39 编辑

set方法是给成员变量进行赋值,构造方法是初始化时进行赋值
但是感觉都差不多 ,不知道有什么区别,在什么时候用什么方法,
有大神能帮忙解答一下吗,谢谢。
作者: m573555543    时间: 2014-5-31 19:22
set 方法学到了property 就不长用了,太麻烦。他的作用是设置一个方法给成员变量赋值,可以再方法里面进行参数的过滤。


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


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

我可以说下签名很不错嘛?
作者: ⒈心只霸占沵    时间: 2014-6-1 18:48
詹绪长 发表于 2014-6-1 18:45
我可以说下签名很不错嘛?

呵呵,谢谢
作者: 永远不会贬值    时间: 2014-6-1 19:14
谢谢大家的回答。
作者: yangying514    时间: 2014-6-1 21:20
支持一下
作者: 李稳    时间: 2014-6-2 00:20
构造方法多用在对象初始化构造时吧,这个时候也可以用set,用构造方法代码相对简洁点。而当对象在使用中需要修改属性值的话,这个时候就必须用set了。




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