Object-c基础编程学习笔记-分类
2014-08-31 20:26
176 查看
1、声明
我们可以看出,这个声明有两个特点
首先,是位于类名后面有一个圆括号,表明类别名称。需要保证该类别名称的唯一性
其次,你不仅可以指定添加分类的名称,而且还可以列出添加的方法。
2、实现
与声明相似,实现也有类名和分类名以及新方法的正文部分
3、类别的局限性
1)无法向类中添加新的实例变量
2)如果分类中定义的方法与原有类的冲突,那么,原有类的将被覆盖。
4、分类的意义
如果想将大型的单个类的实现分散到不同的类别中去,那分类是你的最好选择
这里引用了一段话,来说明分类的好处
1、方便程序员理解程序框架、查看和了解方法所处在的位置
2、便于扩展现有类的方法,不需要访问类的源代码,也无需创建子类
3、和一般的接口不同,不必实现分类中的所有方法
这里,第三条说明分类相当于一个非正式协议
而定义一个空分类,可以变相的实现私有方法
@interface NSString (NumberConvenice) - (NSNumber *) lengthAsNumber; @end
我们可以看出,这个声明有两个特点
首先,是位于类名后面有一个圆括号,表明类别名称。需要保证该类别名称的唯一性
其次,你不仅可以指定添加分类的名称,而且还可以列出添加的方法。
2、实现
@implemation NSString (NumberConvenice) - (NSNumber *) lengthAsNumber { unsigned int length = [self length]; return ([NSNumber numberWithUnsignedInt:length]); } @end
与声明相似,实现也有类名和分类名以及新方法的正文部分
3、类别的局限性
1)无法向类中添加新的实例变量
2)如果分类中定义的方法与原有类的冲突,那么,原有类的将被覆盖。
4、分类的意义
如果想将大型的单个类的实现分散到不同的类别中去,那分类是你的最好选择
这里引用了一段话,来说明分类的好处
1、方便程序员理解程序框架、查看和了解方法所处在的位置
2、便于扩展现有类的方法,不需要访问类的源代码,也无需创建子类
3、和一般的接口不同,不必实现分类中的所有方法
这里,第三条说明分类相当于一个非正式协议
而定义一个空分类,可以变相的实现私有方法
相关文章推荐
- Object-c基础编程学习笔记-对象初始化
- Object-c基础编程学习笔记-对象初始化
- Object-c基础编程学习笔记-各种数值
- Object-c基础编程学习笔记-源文件组织,XCODE新功能
- Object-c基础编程学习笔记-继承,复合
- Object-c基础编程学习笔记-集合
- Object-c基础编程学习笔记-NSPredicate
- Object-c基础编程学习笔记-协议
- Object-c基础编程学习笔记-内存管理
- Object-c基础编程学习笔记-Foundation
- Object-c基础编程学习笔记-C的扩展
- Object-c基础编程学习笔记-键值编码
- Object-c基础编程学习笔记-NSString
- Java学习笔记之网络编程基础-通过URL获取HTML页面
- Linux学习笔记一 ---- Linux基础知识认知以及初识Linux下C编程入门
- 黑马程序员--编程基础学习笔记一
- android 学习笔记(四) 4.1 java编程基础
- 黑马程序员之C#编程基础学习笔记:让用户输入两个数,打印出两个数的和。
- ubuntu之shell编程学习笔记2——编程基础
- MFC学习笔记之四————菜单编程与windows消息分类