黑马程序员技术交流社区

标题: 什么是构造方法,什么是重写构造方法? [打印本页]

作者: sc33370    时间: 2016-6-22 18:56
标题: 什么是构造方法,什么是重写构造方法?
什么是构造方法,什么是重写构造方法?


作者: FFFF001    时间: 2016-6-22 19:32
//
//  Person.m
//  FF-6-2204
//
//  Created by ya on 16/6/22.
//  Copyright © 2016年 FF. All rights reserved.
//

#import "Person.h"

@implementation Person

// 凡是以initWithXXX开头的都是构造函数
// 一个类可以写多个构造函数,可根据其参数个数的不同或参数类型的不同来区分它们。
// 代码如下:

// 重写 init方法
// 重写构造方法的目的:为了让对象方法一创建出来,成员变量就会有一些固定的值
// 注意点: 1.先调用父类的构造方法[super init];
//        2.再进行子类内部成员变量的初始化。

- (id)init
{
   
//    self = [super init];
//   
//    if (self) {
//        [self setName:@"无名"];
//        [self setAge:0];
//    }
//   
//    return self;

    return [self initWithName:@"无名"];;
   
}

- (id)initWithName:(NSString *)name
{

    return [self initWithName:@"无名" andAge:0];;
   
}

- (id)initWithName:(NSString *)name andAge:(NSInteger)age{
   
    self = [super init];
   
    if (self) {
        [self setName:name];
        [self setAge:age];
    }
   
    return self;
   
}

@end

作者: sc33370    时间: 2016-6-22 19:34
FFFF001 发表于 2016-6-22 19:32
//
//  Person.m
//  FF-6-2204

66666解释的充分又合理
作者: FFFF001    时间: 2016-6-22 19:36
一切为了分。。
作者: sc33370    时间: 2016-6-22 19:43
FFFF001 发表于 2016-6-22 19:36
一切为了分。。

互相成全。。。。。。。。。。
作者: SSIrreplaceable    时间: 2016-6-23 08:12
构造方法就是用于初始化对象的方法,重写构造方法就是重新写与父类方法名一样的方法。
作者: sc33370    时间: 2016-6-23 08:14
SSIrreplaceable 发表于 2016-6-23 08:12
构造方法就是用于初始化对象的方法,重写构造方法就是重新写与父类方法名一样的方法。 ...

dashen666666666
作者: M.W    时间: 2016-6-23 11:37
1、构造方法作用是初始化(一般是赋值)
2、重写init;  
3、initWithXXX是自定义构造方法,不是重写
作者: 你的昵称    时间: 2016-7-3 09:03
构造方法就是跟类名同名的方法,
构造方法有三个条件:
1.与类名同名
2.无void
3.无return
另外构造方法可以有多个(有参数和无参数),只要参数的类型和个数不一样就可以有多个构造方法!
这是java里面的!




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