OC 继承

2018-06-17  本文已影响6人  CaptainRoy
#import "Person.h"

extern NSString * const Education;

@interface Student : Person

@property(nonatomic,copy)NSString *homeTown; // 家乡
@property(nonatomic,assign)NSUInteger classNum; // 班级
@property(nonatomic,copy)NSString *country; // 国籍

// 设置家乡 班级 国籍
-(void)setHomeTown:(NSString *)homeTown andClassNum:(NSUInteger)classNum andCountry:(NSString *)country;

// 打印学生信息
-(void)introduce;

// 打印教育经历
-(void)printEduation:(NSString *)edcation;

// 打印职业规划
-(void)printOccuptionPlan:(EmployeeType)employeeType;

@end
#import "Student.h"

NSString * const Education = @"本科";

@implementation Student

-(void)setHomeTown:(NSString *)homeTown andClassNum:(NSUInteger)classNum andCountry:(NSString *)country
{
    _homeTown = [homeTown copy];
    _classNum = classNum;
    _country = [country copy];
}

-(void)introduce
{
    NSLog(@"姓名: %@, 性别: %@, 年龄: %lu, 班级: %lu, 家乡: %@, 国籍: %@",
          self.name,self.sex,(unsigned long)self.age,(unsigned long)self.classNum,self.homeTown,self.country);
}

-(void)printEduation:(NSString *)edcation
{
    if (!edcation) {
        NSLog(@"%@ 的学历是: %@",self.name,Education);
    } else {
        NSLog(@"%@ 的学历是: %@",self.name,edcation);
    }
}

-(void)printOccuptionPlan:(EmployeeType)employeeType
{
    switch (employeeType) {
        case EmployeeTypeEngineer:
            NSLog(@"%@ 想成为 工程师",self.name);
            break;
        case EmployeeTypeDesigner:
            NSLog(@"%@ 想成为 设计师",self.name);
            break;
        case EmployeeTypeFinance:
            NSLog(@"%@ 想成为 财务",self.name);
            break;
        default:
            NSLog(@"%@ 还不清楚",self.name);
            break;
    }
}


@end
Student *lily = [[Student alloc] init]; // -[Person init]
lily.name = @"lily";
lily.age = 28;
lily.sex = @"女";
[lily setHomeTown:@"湖北" andClassNum:2 andCountry:Nationality];
[lily introduce]; // 姓名: lily, 性别: 女, 年龄: 28, 班级: 2, 家乡: 湖北, 国籍: 中国
[lily printEduation:NULL]; // lily 的学历是: 本科
[lily printOccuptionPlan:EmployeeTypeFinance]; // lily 想成为 财务
上一篇下一篇

猜你喜欢

热点阅读