原文:http://blog.csdn.net/jiangwei0910410003/article/details/41775329
一个特有的亮点:类目
首先我们来看一下场景,如果我们现在想对一个类进行功能的扩充,我们该怎么做?
对于面向对象编程的话,首先会想到继承,但是继承有两个问题:
第一个问题:继承的前提是这个类可以被继承,因为在Java中有些类是不允许继承的,定义成final类,同样的OC中也是有不可以继承的类
第二个问题:这个类可以被继承,但是继承我们知道是侵入性的,就是我可能只是想实现一个功能,但是继承之后,子类就会把父类的所有功能(属性和方法)都继承了,这个代价太大了。没必要
类目文件的定义格式:
类目的文件名的格式:"需要添加类目的类名+类目的名称"
比如这里我们需要对NSString类添加一个类目Extension,那么文件名就是:NSString+Extension.h和NSString+Extension.m
类目的定义格式:
@interface 需要添加类目的类名 (类目名)
....@end
这个和类定义格式差不多,就是在后面多了一个括号类目名
例如:
@interface NSString (Extension)
....
@end
类目名是可以随便取的