首页 > 其他 > 详细

OC中的类别Categroy

时间:2015-12-04 22:53:46      阅读:318      评论:0      收藏:0      [点我收藏+]

Categroy类别,又称为扩展类,在类的原基础上扩展方法,且不可添加变量,如果扩展的方法与原始类中的方法相同,则会隐藏原始方法,且不可在扩展方法中通过super调用原始方法,这里与继承不同。

定义: 下面演示在人的基础扩展为学生

定义类

Person.h

  1. #import <Foundation/Foundation.h>  
  2. @interface Person : NSObject  
  3. @property(retain)  NSString *name;  
  4. @property(nonatomic,assign) int age;  
  5. @end  

Person.m

  1. #import "Person.h"  
  2. @implementation Person  
  3. @end  


扩展

Person+Student.h   约定,类别的文件名为  扩展类+类别名.h

  1. #import "Person.h"  
  2. @interface Person (Student)  
  3. -(void)studing;  
  4. @end  

Person+Student.m

  1. #import "Person+Student.h"  
  2.   
  3. @implementation Person (Student)  
  4. -(void)studing{  
  5.     NSLog(@"学习ing");  
  6. }  
  7. @end  

main.m

    1. #import <Foundation/Foundation.h>  
    2. #import "Person+Student.h"//导入时导入扩展的那个文件  
    3.   
    4. int main(int argc, const charchar * argv[])  
    5. {  
    6.   
    7.     @autoreleasepool {  
    8.         Person *p =  [[Person alloc] init];  
    9.         [p studing];  
    10.     }  
    11.     return 0;  
    12. }  

OC中的类别Categroy

原文:http://www.cnblogs.com/oc-bowen/p/5020562.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!