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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

什么是构造方法,什么是重写构造方法?

8 个回复

倒序浏览
//
//  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
回复 使用道具 举报
FFFF001 发表于 2016-6-22 19:32
//
//  Person.m
//  FF-6-2204

66666解释的充分又合理
回复 使用道具 举报
一切为了分。。
回复 使用道具 举报
FFFF001 发表于 2016-6-22 19:36
一切为了分。。

互相成全。。。。。。。。。。
回复 使用道具 举报
构造方法就是用于初始化对象的方法,重写构造方法就是重新写与父类方法名一样的方法。
回复 使用道具 举报 1 0
SSIrreplaceable 发表于 2016-6-23 08:12
构造方法就是用于初始化对象的方法,重写构造方法就是重新写与父类方法名一样的方法。 ...

dashen666666666
回复 使用道具 举报
M.W 中级黑马 2016-6-23 11:37:42
8#
1、构造方法作用是初始化(一般是赋值)
2、重写init;  
3、initWithXXX是自定义构造方法,不是重写
回复 使用道具 举报
构造方法就是跟类名同名的方法,
构造方法有三个条件:
1.与类名同名
2.无void
3.无return
另外构造方法可以有多个(有参数和无参数),只要参数的类型和个数不一样就可以有多个构造方法!
这是java里面的!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马