OC里面的类

来源:互联网 发布:数据分析项目案例 编辑:程序博客网 时间:2024/04/30 13:44

OC里面的类


类的定义

不指定方法的返回值

-(id)initWithObject:(id)obj;

- initWithObject:obj;

省略返回值时,默认的类型是id,也就是上面两条等价,在c语言中默认是int


接口

类公开给外部的,关于使用这个类的消息叫接口。

类的定义

@interface 类名:父类名

{

实例变量的定义;

}

方法声明;

@end

注意{}里面的是实例的变量而不是方法


类名不能和变量名和方法名相同,但类的实例可以。


方法声明

-(id)cellAtRow:(int)row column:(int)col;

rowcol表示参数,cellAtRowcolumn是提示


类的前置声明


当我们定义一个类的时候,有时会将类实例变量,类方法和参数和返回值的类型指定为另外一个类。

有两种方法

1.导入原有类的头文件

2.使用类的前置声明

1的缺点是引入的头文件可能还需引入其他类的头文件,导致编译变慢;而且头文件中还有其他信息,如果头文件太多,不太好


2的缺点是如果需要引入类的方法和属性,那么必须要引入头文件


2的好处是提高编译速度,而且如果多个接口出现类的嵌套定义,用导入头文件的方法无法解决的时候可以用类的前置声明


类的实现


@implementation 类名

方法的定义

@end

类的实现部分不需要再次声明父类,而接口部分需要写上父类

实现部分包含了接口部分所有方法的实现。如果接口部分没有定义任何的方法,实现部分也可以为空,即不包含任何方法的实现

方法的实现部分的第一行代码和方法声明部分完全相同(方法声明以”;”结尾,实现时需要删除然后加上{}

调用类

调用类首先要在对应的实现文件里面或头文件里面加入import“xxxx.h”

main函数

main函数也可以使用实现文件里面的方法,只要import头文件



1 0