OC里面的类
2016-05-02 23:02
274 查看
OC里面的类
类的定义
不指定方法的返回值
-(id)initWithObject:(id)obj;- initWithObject:obj;
省略返回值时,默认的类型是id,也就是上面两条等价,在c语言中默认是int
接口
类公开给外部的,关于使用这个类的消息叫接口。类的定义
@interface 类名:父类名
{
实例变量的定义;
}
方法声明;
@end
注意{}里面的是实例的变量而不是方法
类名不能和变量名和方法名相同,但类的实例可以。
方法声明
-(id)cellAtRow:(int)row column:(int)col;row和col表示参数,cellAtRow和column是提示的
类的前置声明
当我们定义一个类的时候,有时会将类实例变量,类方法和参数和返回值的类型指定为另外一个类。
有两种方法
1.导入原有类的头文件
2.使用类的前置声明
1的缺点是引入的头文件可能还需引入其他类的头文件,导致编译变慢;而且头文件中还有其他信息,如果头文件太多,不太好
2的缺点是如果需要引入类的方法和属性,那么必须要引入头文件
2的好处是提高编译速度,而且如果多个接口出现类的嵌套定义,用导入头文件的方法无法解决的时候可以用类的前置声明
类的实现
@implementation 类名
方法的定义
@end
类的实现部分不需要再次声明父类,而接口部分需要写上父类
实现部分包含了接口部分所有方法的实现。如果接口部分没有定义任何的方法,实现部分也可以为空,即不包含任何方法的实现
方法的实现部分的第一行代码和方法声明部分完全相同(方法声明以”;”结尾,实现时需要删除然后加上{}
调用类
调用类首先要在对应的实现文件里面或头文件里面加入import“xxxx.h”main函数
main函数也可以使用实现文件里面的方法,只要import头文件相关文章推荐
- Swift字符串的插入、删除和替换-备
- android Spinner 例子
- 我的小成就故事
- Struts2架构思想、配置文件
- 超宽带技术发展
- C++算法与数据结构学习笔记------单链表实现多项式
- EditText禁止输空格
- 有关ESB和微服务的一些好文
- smcs.rsp
- docker实践入门之三
- 转载:PostgreSQL的系统函数分析记录
- java的Scanner,char等基础知识!
- 两列布局中单列定宽单列自适应布局的6种思路
- poj 1375(解析几何)
- Java8新特性Stream API与Lambda表达式详解(2)
- 27. Remove Element
- 模拟实现strrstr
- java设计模式(工厂模式)
- freemarker 用template快速构造XML
- 解决tomcat中图片上传丢失问题