9.类的延展
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9.类的延展相关的知识,希望对你有一定的参考价值。
Category的作用
Category:也叫分类,类目。是为没有源代码的类扩充功能
扩充的功能会成为原有类的一部分,可以通过原有类或者原有类的对象直接调用,并且可继承。
但是该方式只能扩充方法,不能扩充实例变量
类名的文件名为原类名+文件名
如:
创建步骤:
File:文件名
File Type:文件的类型
Class:文件扩展类型
创建好之后,会自动创建.h文件和.m文件。
在.h文件中声明添加的方法,在.m文件中实现方法
Extension
为了能够获得源代码的类添加私有的实例变量和方法
语法格式:
Extension的语法格式和Category很相似,相当于把Category 的.h?件挪到了原始类的.m?件中。
通过延展定义的方法属于私有方法,外界是没有访问权限的,只能在当前类的.m文件中访问。
协议:一堆方法的声明,只有.h文件,协议的定义以@protocol开始,以@end结束
执行协议的类要接收协议,写在NSObject后面的<>内部
扩充的功能会成为原有类的一部分,可以通过原有类或者原有类的对象直接调用,并且可继承。
但是该方式只能扩充方法,不能扩充实例变量
类名的文件名为原类名+文件名
如:
创建步骤:
File:文件名
File Type:文件的类型
Class:文件扩展类型
创建好之后,会自动创建.h文件和.m文件。
在.h文件中声明添加的方法,在.m文件中实现方法
Extension
为了能够获得源代码的类添加私有的实例变量和方法
语法格式:
Extension的语法格式和Category很相似,相当于把Category 的.h?件挪到了原始类的.m?件中。
通过延展定义的方法属于私有方法,外界是没有访问权限的,只能在当前类的.m文件中访问。
协议:一堆方法的声明,只有.h文件,协议的定义以@protocol开始,以@end结束
执行协议的类要接收协议,写在NSObject后面的<>内部
以上是关于9.类的延展的主要内容,如果未能解决你的问题,请参考以下文章