【Object-C】类别与扩展Category

Object-C 的动态特征允许使用类别为现有的类添加新方法,并且不需要创建子类,不需要访问原有类的源代码。
通过使用类别,可以动态的为现有的类添加新方法,而且可以将类定义模块化的分布到多个相关文件中。

point:
1、定义类名必须是该项目中没有的类,而定义类别时使用的类名必须是已有的类
2、定义类别时必须使用()来包含类别名
3、类别中通常只定义类方法和实例方法,不能添加实例变量(可以通过扩展extension添加)
4、不要重载另外的方法,导致原方法不可用
5、根据需要可以有多个分类,分类会影响子类
6、通过类别为指定类添加新的方法后,这个新的方法能够影响指定类的子类,子类
     也可以继承到这个新的方法。
7、使用类别来调用私有方法
8、使用类别来实现非正式协议
9、可以利用类别对类进行模块化设计

@interface  已有类  (分类名)
-实例方法
+类方法
@end

扩展
@interface 已有类 ()
{
      实例变量;
}
-类方法;
+实例方法;
@end


转载于:https://www.cnblogs.com/shujucn/p/7481474.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值