OC语言day06-10匿名分类-类扩展-延展

pragma mark 匿名分类-类扩展-延展

pragma mark 概念

/**
 1.什么是类扩展 (Class Extension)
 延展 类别 称为 扩展(Extension), Extension 是 Catepory的一个特例
 
 可以为某个类扩充一些私有的成员变量 和 方法
 写在.m文件中
 英文名 是 Class Extension
 
 2.类扩展书写格式
 @interface 类名()
 @end
 
 3.类扩展和分类的区别在于
   类扩展没有名字
   类扩展可以定义属性
 */

pragma mark 代码

#import <Foundation/Foundation.h>
#pragma mark 类
#import "Person.h"
#pragma mark main函数
int main(int argc, const char * argv[])
{
    
    Person *p = [Person new];
//    p->_age
//    [p say];
    
    return 0;
}

Person.h //人类
#import <Foundation/Foundation.h>

@interface Person : NSObject
//{
//    int _age;
//}
- (void)eat;
//- (void)say;
@end
Person.m
#import "Person.h"

#warning 类扩展 --- 没有名字的分类

@interface Person ()
{
    int _age;
}
- (void)say;
@end

// 实现
@implementation Person
//{
//    int _age;
//}

- (void)eat
{
    NSLog(@"%s",__func__);
}
- (void)say
{
    NSLog(@"age = %@",__func__);
}
@end

推荐阅读更多精彩内容