Person.h
#import <Foundation/Foundation.h>
@interface Person : NSObject{
NSString * _name;
int _age;
}
@property NSString * name;
@property int age;
- (instancetype)initWithName:(NSString *)name andAge:(int)age;
@end
Person.m
#import "Person.h"
@implementation Person
- (instancetype)initWithName:(NSString *)name andAge:(int)age{
if (self = [super init]) {
_name = name;
_age = age;
}
return self;
}
@end
Student.h
#import "Person.h"
@interface Student : Person{
int _studentNumber;
}
@property int studentNumber;
- (instancetype)initWithStudentNumber:(int)studentNumber;
@end
Student.m
#import "Student.h"
@implementation Student
- (instancetype)initWithStudentNumber:(int)studentNumber{
if (self = [super init]) {
_studentNumber = studentNumber;
}
return self;
}
@end
main.m
#import <Foundation/Foundation.h>
#import "Student.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
Person * p1 = [[Person alloc] initWithName:@"张三" andAge:25];
Student * s1 = [[Student alloc] initWithStudentNumber:21];
NSLog(@"name = %@,age = %d,studentNumber = %d",p1.name,p1.age,s1.studentNumber);
}
return 0;
}