1、类和对象
类:具有某些共同属性和行为的事物的集合,类是Objective-C中一种重要的数据类型,是组成Objective-C程序的基本要素。它封装了一类对象的状态和方法,是这一类对象的原形。如汽车car就是一个类,它有颜色,型号,生产日期,生产地等属性,可以执行启动,加油,加速,刹车等行为。
对象:又叫实例,就是一个具体的事物,是类的实例化。如你有一辆汽车,则它就是car的实例化,是从car类创建的,有car类的信息和行为。对象的属性是具体的值,如你的汽车是黑色的,生产地是美国,对对象执行的操作叫方法,如给汽车加油,刹车等。
2、 定义类
在Objective-C里面一个类的构成一般由两部分组成,一个是成员和方法声明的头文件(.h),一个是类方法实现的文件(.m)文件。当然你也可以把类的声明写在.m文件里面,但是这样就是私有的成员,其他类就不能使用了。
类声明的接口部分以@interface开始,以@end结尾,在这之间代码便是类变量的定义和方法的声明,定义的方法只有方法的定义,没有方法的实现。
类声明:
@interface类名:父类名
{
成员属性;
}
方法声明;
@end
这时,就完成了类的声明。一个类的方法有两种,一种是类方法,一种是实例方法。类方法有点像静态方法,它属于一个类,而不是属于一个类的实例。而实例方法就是属于一个类的实例的方法。类方法在定义的时候前面用“+”号标识,实例方法前面则用“-”号标识。
类实现:
@implementation类名
实例方法定义;
............
@end
@implementation这个编译指令具体定义@interface中声明的方法,声明过的方法,必须在这里具体定义。
3、类的实例化
类经过声明和定义,但是还不能直接使用,使用类之前必须分配具体的内存领域且进行适当的初始化。根据类的声明具体分配一块内存,这个过程叫实例化。
如我们已经定义了一个car类,现在要生成一个对象newcar;首先要给它分配内存,对car类使用用alloc方法,这是一个类方法,然后初始化,用init方法,这时对象方法,通常一步完成这2个步骤。如Car *newcar=[[Car alloc] init];
从对象调用方法的时候,不是直接调用,而是向对象发送特定的消息,对象接收到消息后,根据消息内容启动相应的方法,[ ]在Objective-C中被称为消息,格式如下:
向对象发送消息:[对象名对象方法名:参数序列];
向类发送消息:[类名类方法名:参数序列];