iOS - 类别与类扩展
来源:互联网 发布:手机数据自动开启 编辑:程序博客网 时间:2024/05/22 22:25
要点
1.什么时候使用类别,有什么限制,如何选择用类别还是继承
2.了解什么是类扩展
什么是类别
类别(category)允许对现有累进行扩展,在现有的类中添加用户自己的方法。有些类似于C#的扩展方法。
什么时候使用类别
- 有时我们需要在一个已经定义好的类中增加一些方法,而不想去改写该类。通常的原因是已经有其他代码调用了该类创建对象并使用该类的方法,不能用继承又不方便修改类本身时,这时可以使用类别对该类进行轻量化的扩充,添加新的方法。
- 一个类过于庞大,可以对类进行一些拆分方便管理。
类别的使用限制
- 类别只能扩充方法,而不能扩充成员变量。
- 类别中的方法与现有方法重名时将完全覆盖原本类方法。也就是说没有途径访问原本类方法,不能用类似super的样子调用。这极大的限制了类别的作用。
类扩展
即class extension,一种特殊的匿名的类别,看起来像下面这样。
@interfaceclassA ()
{
NSString* str;
int a;
}
-(void)Method;
@end
class extension可以定义变量和property,可以有多个,默认在生成的.m文件最上方就有一个,通常用于实现类似于私有变量、方法的功能。
0 0
- iOS - 类别与类扩展
- 类别与类扩展
- 类别与类扩展//类别与继承
- iOS类别和类扩展
- ios 类别和类扩展
- iOS类别(Category)与扩展(Extension,匿名类别)
- oc 类别 与 类扩展
- iOS类别(Category)与扩展(Extension)
- iOS类别(Category)与扩展(Extension)
- iOS类别(Category)与扩展(Extension)
- iOS类别(Category)与扩展(Extension)
- iOS类别(Category)与扩展(Extension)
- iOS类别(Category)与扩展(Extension)
- iOS类别(Category)与扩展(Extension)
- iOS类别(Category)与扩展(Extension)
- iOS类别(Category)与扩展(Extension)
- iOS类别(Category)与扩展(Extension)
- iOS类别(Category)与扩展(Extension)
- Spring(三大框架整合) 入门
- 第七章知识结构框图
- iOS - 工厂方法
- redis 不能save问题解决
- asp.net登录界面制作实例
- iOS - 类别与类扩展
- acer 4750 Fn+亮度键(左右方向键亮度调节)无效问题的解决办法
- 历年真题软件设计师下午考试题汇分析与技巧
- 流式布局的实现-3-onLayout
- ActiveMQ的断线重连机制
- iOS - 观察者模式与四种实现
- 数据挖掘的数据分析方法
- dynamic programming (动态规划)浅谈
- uva 10790 How Many Points of Intersection?