1 分类
分类为类定义的扩展提供了一种手段,分类可以访问原始类的实例变量。使用分类需要注意以下几点:
1.1 分类不能添加自身的任何变量,如果需要添加变量,可以考虑创建之类
1.2 分类可以重载该类中的另外一个方法,但是请一定不要尝试这么做。就是不要在分类中去重载(Override)类中的另一个方法。
1.3 一个类可以有很多分类。
1.4 在实现中可以不实现分类中声明的方法。(可以以后实现)
1.5分类也可以实现协议,如:@interface Fraction(Stuff)<NSCopying, NSCoding>
2 协议
协议就是其他语言中所指的接口。Objective-C 2.0在协议中增加了optional关键字,表示此方法是可选择的实现。这个是替换非正式协议的。
非正式协议:它实际就是一个分类,列出了一组方法,但是没有实现它们。有时非正式协议也称作抽象协议。
id<NSCopying, NSCoding> currObj
这个声明告知编译器currObj将包含遵守NSCopying,NSCoding协议的对象,如果不是编译器将会给出警告。
3 类型转换
4 预处理程序
5 作用域