涉及到继承的初始化方法

来源:互联网 发布:东莞大岭山美工招聘 编辑:程序博客网 时间:2024/06/06 00:08
#import "Person.h"@implementation Person- (id) initWithName:(NSString *)name withSex:(NSString *)sex withAge:(NSInteger)age{    //第一步,调用父类的初始化方法,对父类的成员变量进行初始化    self = [super init];    //第二步,判断初始化是否成功(self不为空)    if (self) {        //对person类特有的成员变量一一赋值        _name = name;        _sex = sex;        _age = age;    }    //返回self    return self;}- (void) sayHi{    NSLog(@"大家好,我是人类%@,性别:%@,今年%ld岁", _name, _sex, _age);}@end
</pre><pre name="code" class="objc">
<pre name="code" class="objc">#import "Student.h"@implementation Student- (id) initWithName:(NSString *)name withSex:(NSString *)sex withAge:(NSInteger)age school:(NSString *)school stuId:(NSInteger)stuId{    //第一步,调用person的初始化方法    self = [super initWithName:name withSex:sex withAge:age];    //第二步,判断    if (self) {        //对student特有的成员变量一一赋值        _school = school;        _stuId = stuId;    }    //第三步,返回self    return self;}- (void) sayHi{    [super sayHi];    NSLog(@"大家好,我是学生%@,性别:%@,今年%ld岁", _name, _sex, _age);}@end


另外:次要初始化方法中,一般要先调用self = 指派初始化方法,只需把指派初始化方法中不需要的参数设置为空,而次要初始化需要的参数设置为相应变量名即可.

0 0
原创粉丝点击