oc-初始化方法

初始化方法

新建一个类,命名为Person,继承于NSObject。在Person.h中添加两个成员变量:name、age。代码如下:

@interface Person : NSObject {
    NSString *_name;
    NSInteger _age;
}

添加初始化方法:

-(instancetype)initWithName:(NSString *)name age:(NSInteger)age;

添加便利构造器:

+(instancetype)personWithName:(NSString *)name age:(NSInteger)age;

接下来在.m文件中去实现:

-(instancetype)initWithName:(NSString *)name age:(NSInteger)age {
    //调用父类NSobject的初始化方法,他可以被它的子类调用,
    self = [super init];
    if (self) {
        _name = name;
        _age = 0;
    }
    return self;
}

便利构造器的实现:

+(instancetype)personWithName:(NSString *)name age:(NSInteger)age {
    return  [[Person alloc] initWithName:name age:age];
}

最后到main.m文件中,创建一个person类

    //因为是用便利构造器创建的,所以不用alloc,直接在后边赋值即可,
    Person *p = [Person personWithName:@"张三" age:0];

你可能感兴趣的:(oc-初始化方法)