只要是接触过一段时间编程的人不管资历深浅都会接触甚至是不止一次接触->面向对象或者是面向对象编程,(object-oriented programming,缩写oop)。
在接触面向对象之前首先要了解几个关键术语:
类:是一种表示对象类型的结构体。对具有相同特征或者运动特性的一类事物的建模。
对象(实例):即通过类声明的某一实体。
消息:是用于向不同方法中传递信息,使对象能够执行某一操作。
方法:是实例所进行实际操作的代码。
接口:是类为对象提供的特性描述。
实现:使接口能够正常工作的代码。
————————————————————————————————————————————
//类的声明部分
@interface Car:NSObject
{//类的属性
@public
int num;
NSString * color;
}
//方法的声明
-(void)run:(int)num; //-减号是对象方法的声明
+(void)stop; //+加号是类方法的声明
@end
//类的实现部分
@implementation Car
//类方法的实现
-(void)run:(int)num{
NSLog("型号是%d的车启动了",num);
}
+(void)stop{
NSLog("车停止了");
}
@end
———————————————————————————————————————
上面的一段代码即是对类的声明和实现。
那么来看这一段代码,
@interface Car:NSObject //是对类的声明,冒号后边式继承的父类,若无则需要写为NSObject
{ //在大括号里边是用来写类的属性
}
//这里是用来编写类的方法的声明,是一定不能写到大括号里边的
@end //声明结束是要用end结束
@implementation Car //用来编写类的实现的关键词,后边的类名必须要和要实现的类一致
//类方法的实现,如下
-(void)run:(int)num{
NSLog("车以%d的速度前进",num);
}
@end //依然要用end结束
//对于类方法的格式
那么在使用类的时候该怎么用呢,如下所示
Car *c1 = [Car new]; //实例化一个对象
c1->num = 12; //给对象的属性进行赋值
c1 ->color = @"red";
[c1 run:100]; //调用象的方法,对象方法需要对象来调用
[Car stop] //调用类方法,类方法需要使用类名来调用