#import <Foundation/Foundation.h>
@interface Person : NSObject
@property NSString* name;
//父类的属性交给父类方法去处理,子类方法处理子类自己的属性
//自定义构造方法的规范
/*
1.一定以减号开头
2.返回值一般视id类型
3.方法名一般以init开头;initWithName:(NSString*)name;传什么变量就在With后面写上那个变量名。
*/
-(id)initWithName:(NSString*)name;
@property int age;
-(id)initWithAge:(int)age;
-(id)initWithName:(NSString*)name andAge:(int)age;
@end
@implementation Person
/*
-(id)init{
if (self=[super init]) {
_name=@"jake";
}
return self;
}
*/
-(id)initWithName:(NSString *)name{
if (self=[super init]) {
_name = name;
}
return self;
}
-(id)initWithAge:(int)age{
if (self = [ super init]) {
_age = age;
}
return self;
}
-(id)initWithName:(NSString *)name andAge:(int)age{
if (self = [super init]) {
_name = name;
_age = age;
}
return self;
}
@end
int main(int argc, const char * argv[])
{
@autoreleasepool {
Person* p = [[Person alloc] initWithName:@"jake" andAge:23];
NSLog(@"@@@");
}
return 0;
}