Object-C 学习笔记(二十一)---延展Extendtion

时间:2022-05-30 01:32:37

延展:有利于类的功能的分类与整合

优点:可以定义属性与方法

但是:定义的属性与方法都属于私有@private,相当于在.m文件里面实现


实例:

//
// People_isBusy.h
// ExtendtionDemo
//
// Created by 5016 on 13-12-16.
// Copyright (c) 2013年 dradon. All rights reserved.
//



@interface People ()
/*
*定义延展,有利于类的功能的分类与整合
*/
-(NSString*)isHaveTime:(BOOL)Y_N;

@end

//
// Perple.h
// ExtendtionDemo
//
// Created by 5016 on 13-12-16.
// Copyright (c) 2013年 dradon. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface Perple : NSObject

@property(retain,nonatomic)NSString* name;

-(NSString*)isBusy:(BOOL)Y_N;
@end

//
// Perple.m
// ExtendtionDemo
//
// Created by 5016 on 13-12-16.
// Copyright (c) 2013年 dradon. All rights reserved.
//

#import "Perple.h"

@implementation Perple

@synthesize name = _name;


//返回是否有时间
-(NSString*)isBusy:(BOOL)Y_N
{
return [self isHaveTime:Y_N];
}

//判断学员是否有时间
-(NSString *)isHaveTime:(BOOL)Y_N
{
return Y_N?@"学员有时间":@"学员没时间";
}

-(void)dealloc
{
[_name release];
[super dealloc];
}
@end

//
// main.m
// ExtendtionDemo
//
// Created by 5016 on 13-12-16.
// Copyright (c) 2013年 dradon. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Perple.h"

int main(int argc, const char * argv[])
{

@autoreleasepool {
Perple *stu = [[Perple alloc] init];
stu.name = @"dragon";
NSLog(@"%@%@",stu.name,[stu isBusy:YES]);

}
return 0;
}