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

OC之OC的类

2015-08-31 00:00 211 查看
比如,定义一个类名为Car的类,类的声明(类的声明通常写在头文件中,即.h文件中,也可直接写在.m文件中):

// NSobject可以让类有创建对象的能力

@interface Car : NSobject

{

//声明对象属性

@public //是成员变量变成共有的,其下所有成员变量都将变成共有的,当然也可以在每个成员变量上都加@public

//【备注】实际开发中成员变量应以下划线”_”开头。

intspeed;//Car的speed属性(成员变量),只可声明,不可赋值。

intwheels;// Car的wheels属性(成员变量),只可声明,不可赋值。

}

//方法(也叫行为):方法名、参数、返回值、(声明、实现),方法不能写在大括号里面,方法定义前必须以减号或加号开头,方法类型要用小括号括住。当方法没有参数时方法名后一定不要加小括号。如果有参数,则可写成-(void) run:(int)num;即增加了一个int类型的参数num,注意小括号只能用来括类型。一个参数就写一个”:“。调用时应为:[p run:10],p为Car的指针。

- (void) run;//空函数,OC中方法实现必须在类的实现中@implementation Car和@end 之间写

@end//不能省略

类的实现(通常写在.m文件中):

@implementation Car

//定义类中的run方法内容

- (void) run

{

NSLog(@”车子跑起来了,时速为%d”,speed);

}

@end//不能省略

int main()

{

/*在OC中,想调用一个,就写上一个中括号[行为执行者行为名称]

利用类来创建对象*/

//执行了Car类的new行为来创建对象,定义了一个指针变量p,p将来指向的是Car类型的对象

Car *p = [Car new];

P -> speed = 4;//给对象的speed属性赋值。

//给p指向的对象发送一条run消息,即调用run方法

[Car new]->speed = 4;//通过匿名对象进行赋值

[p run];

[[Car new] run];//通过匿名对象访问方法

return 0;

}

【备注】C语言语法格式的函数可以写在任何位置

每个类中都有一个isa指针,这个指针用来指向父类。

OC带参数的方法:- (int) run:(int)a :(int)b;第二个冒号前一定要有空格(调用时:[p run:10 :5])。但是实际开发中为了可读性并不这样写。而是将方法写成:- (int)sumwithNum1:(int)num1andNum2:(int)num2;

方法内容可写为:

- (int)sumwithNum1:(int)num1andNum2:(int)num2

{

return num1+num2;

}

调用方法可写为:

[p sumwithNum1:10andNum2:5];//p为方法所在类的指针

版权声明:本文为博主原创文章,未经博主允许不得转载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios OC