ObjecTIve-C++语言是对C语言的一种封装,在C语言的基础上增加了一层面向对象的语法,完全兼容C语言,在OC代码中可以使用C,甚至C++代码。1980年代初布莱德·考克斯(Brad Cox)在其公司Stepstone发明ObjecTIve-C。他对软件设计和编程里的真实可用度问题十分关心。ObjecTIve-C最主要的描述是他1986年出版的书 Object Oriented Programming: An EvoluTIonary Approach. Addison Wesley. ISBN 0-201-54834-8.
1 / 20 OC语言类的本质和分类
OC语言类的本质和分类 Aaa dd 华彩人生1点通
OC语言类的深入和分类 一、分类
(一)分类的基本知识
概念:Category 分类是OC特有的语言,依赖于类。
分类的作用:在不改变原来的类内容的基础上,为类增加一些方法。 添加一个分类:
文件结构图:
OC的数据类型
1) OC中支持C中所有的数据类型
2) OC在C的基础上新增了一些数据类型
a. BOOL类型,只能存储YES和NO当中的任意一个数据,但是输出只能以整型输出,YES代表1,NO代表0。
b. Boolean类型,只能存储true和false当中的任意一个数据,但是输出只能以整型输出,true代表1,false代表0。(其实我感觉Boolean是多余的,已经有BOOL类型了,而且具备一样的功能)
c. id类型,万能指针,哪个变量都可以指。
d. class(类)。
e. SEL 方法包装器。
f. nill,如果OC中的指针不指向任何变量,那么这个指针的初始值就可以赋值nill,nill也表示0,与C中的NUL一样,只是OC的指针最好用nill,C的指针最好用NUL。
g. block代码块。
(二)分类的使用注意
(1)分类只能增加方法(包括类方法和对象方法),不能增加成员变量 (2)在分类方法的实现中可以访问原来类中的成员变量;
(3)分类中可以重新实现原来类中的方法,但是会覆盖掉原来的方法,导致原来的方法无法再使用(警告);
(4)方法调用的优先级:分类-》原来的类-》父类,若包含有多个分类,则最后参与编译的分类优先;
(5)在很多的情况下,往往是给系统自带的类添加分类,如NSObject和NSString,因为有的时候,系统类可能并不能满足我们的要求。
(6)在大规模的应用中,通常把相应的功能写成一个分类,可以有无限个分类,对原有类进行扩充,一般分模块写,一个模块一个分类。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)