您的位置:首页 > 移动开发 > IOS开发

IOS类和对象的概念

2015-08-19 23:07 316 查看
因为项目进度紧,经过两个星期的自学,就快速进入程序的开发。慢慢摸索和学习。现在已经发布了两个APP。但是这样只是一种快餐开发。我们可以知道如何去实现。但是很多时候我们只知其然,而不知道所以然。所以我们需要在开发中,沉淀知识,不积跬步无以至千里,只有厚积才能薄发。好了,简单铺垫之后,开始基础的学习。

一、面向对象的概念

因为Object-C是一种面向对象的语言。面向对象语言需要先理解两个概念:类、对象

类:对同一类事物的高度抽象。类定义了这一类的属性以及行为准则(方法)。

对象:类的一个实例,是一个具体的事物。

举个例子:

由动力驱动,具有4个或4个以上车轮的非轨道承载的车辆,我们统一称为汽车。因为它具备一定的属性(动力驱动、车轮等)以及行为准则(加速、刹车等)。可以与其他事物区分。

汽车这个类下面。有很多具体的对象。比如卡车、小轿车等等。

二、Object-C类声明和实现

iOS开发中,主要有两个文件:.h以及.m文件。.h文件主要是对类的声明。包括实例参数和方法的声明。.m文件主要对方法的实现。

1、声明类。写在.h文件

//声明类,继承NSObject

@interface Car:NSObject

{

//声明实例变量

NSString *driverType; //驱动类型

int wheelNum; //车轮数量

}

//声明方法

-(id)initWithDriverType:(NSString*)_driverType wheelNum:(int) _wheelNum;//该方法名称为:-(id)initWithDriverType: wheelNum:

-(void)brake:(int) wheelNum;

-(int)wheelNum;

-(void)setWheelNum:(int) _wheelNum;

+(Car)shareCar;

@end

“`

(1)、用@interface来声明一个类。冒号表示继承关系。冒号后面跟着是类的父类。类的名称一般首字母大写。

(2)、声明实例变量,作用域在整个类,只可以声明,不可以实例化。实例变量命名使用的骆驼命名法。首字母小写。后面的单词首字母大写。形式参数为了和实例变量区分,一般增加下划线区别。格式为:变量类型 变量名称

(3)、-(void)brake:(int) wheelNum。

“-“表示实例方法,“+”表示类方法。brake:表示方法名称。切记是有后面的冒号。(int) wheelNum表示形式参数的类型和名称

2、@property和@synthesize

xcode提供便利的方法,使用@property和@synthesize实现实例变量。代替了面向对象中get和set方法。

@property(nonatomic)int wheelNum;

等同:

-(int)wheelNum;

-(void)setWheelNum:(int) _wheelNum;

@synthesize wheelNum;

等同:

-(int)wheelNum{ return wheelNum }

-(void)setWheelNum:(int) _wheelNum{

wheelNum=_wheelNum

}

3、指针

Object-C的对象是通过指针对其操作。

//声明了一个NSString类型。没有指向任何对象,默认为nil.

NSString *driverType; //驱动类型

//堆内存分配内存,driverType是栈内存,指向堆内存。

driverType=[[NSString alloc]initWithString:@”oil type”];

4、对象的创建和初始化

Car *testCar=[[Car alloc]init];

[Car alloc]就是创建类,在堆内存中分配空间。init方法就是类的初始化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios