#import "Person.h"
@implementation Person
- (instancetype)initWithName:(NSString *)name andAge:(int)age
{
if (self = [super init]) {
_name = name;
_age = age;
}
return self;
}
@end
#import "Student.h"
@implementation Student
- (instancetype)initWithName:(NSString *)name andAge:(int)age andSno:(int)sno
{
if (self = [super initWithName:name andAge:age]) {
_sno = sno;
}
return self;
}
@end
#import <Foundation/Foundation.h>
#import "Person.h"
#import "Student.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 用指定的值进行初始化,
// 创建对象的时候,用我们指定的名字和年龄进行初始化
// 自定义构造方法
// 1)是一个对象方法
// 2)返回值是id类型(instancetype)
// 3)方法名一定要以 initWithXXXXX
Person *p = [[Person alloc] initWithName:@"xxxx" andAge:18];
NSLog(@"%d, %@", p.age, p.name);
Person *p1 = [[Person alloc] initWithName:@"332313" andAge:17];
NSLog(@"%d, %@", p.age, p.name);
Student *stu = [[Student alloc] initWithName:@"51616" andAge:131 andSno:1];
NSLog(@"%@, %d, %d", stu.name, stu.age, stu.sno);
}
return 0;
}