执着的土豆 发表于 2014-5-2 17:13
默认的构造方法,也就是init方法,它是不接收任何参数的。因此,在实际开发中,为了方便,会经常自定义构造 ...
.Drenched 发表于 2014-5-2 17:24
默认的构造方法不是new?new分为分配存储空间和初始化init,只要修改默认初始化值就可以了。
比方说如下 ...
yaozeyang_2014 发表于 2014-5-2 17:26
其实构造方法的目的就是为了给成员函数初始化的。假如你在@interface里面声明了一些成员变量,因为在@inter ...
.Drenched 发表于 2014-5-2 17:26
如果“用来在给对象初始化的时候实现设置默认参数。”我重构init就行了,何必要自定义构造方法呢? ...
执着的土豆 发表于 2014-5-2 17:28
你这样自定义初始化的用途就是让创建出来的student对象的年龄默认等于10 啊。 如果需要他等于10,那么 ...
.Drenched 发表于 2014-5-2 17:29
我问的是自定义构造方法与重写-init方法的区别。自定义构造方法与重写-init方法都可以给成员变量定义初始 ...
执着的土豆 发表于 2014-5-2 17:31
我的理解是,自定义构造方法其实就是重构init方法。
.Drenched 发表于 2014-5-2 17:31
额,我知道这样就给成员变量age初始化值为10,因为我重写了init方法,我的意思,我现在也可以自定义构造 ...
yaozeyang_2014 发表于 2014-5-2 17:34
自定义构造方法,直接让对象调用你自定义的方法就好,是可以初始化的啊,如果你重写方法的话,也是可以的 ...
.Drenched 发表于 2014-5-2 17:40
怎么“直接让对象调用你自定义的方法”?比如?
.Drenched 发表于 2014-5-2 17:40
怎么“直接让对象调用你自定义的方法”?比如?
执着的土豆 发表于 2014-5-2 17:42
我在1楼给你回复的时候,想着要不要直接写死 _age=10; 那样写虽然也可以实现,并且在主函数调用的时候不 ...
执着的土豆 发表于 2014-5-2 17:46
- (id)initWithAge: (int)age
{
if(self=[super init])
.Drenched 发表于 2014-5-2 17:48
就算你自定义重构方法,也要一个一个的写阿,你的成员变量有几个就要写几个重构方法,先声明后实现。而不 ...
.Drenched 发表于 2014-5-2 17:49
重写init不一样么?好像也是一样的。
执着的土豆 发表于 2014-5-2 17:55
其实在我的理解来看,重写就是最简单的自定义构造方法。 几个参数当然可以写在一个重构方法里啊。 只 ...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |