您的位置:首页 > 移动开发 > Objective-C

Objective_C学习笔记(2)类的使用学习概要

2015-06-12 18:04 609 查看
一、类的声明、实现以及使用文件相分离。

与java中类相比较,Objective-C中类分为三部分:
interface声明部分,
implementation定义部分,
使用部分。在大型的程序文件中,应该遵循使程序的声明、实现文件以及其使用的程序文件相分离。interface部分的文件名为className.h。implementation部分的文件名为className.m。


如图所示:


二、合成存取方法

在Java中,其提供了对属性进行读写的getter和setter方法。在OC中也提供了同样的方法,不同之处在于OC中得get方法其方法名和属性名是相同的。


另外,在OC中还提供了自动生成设值和取值方法的方式,就是使用@property和@synthesize标识。

实现步骤:

1.在声明文件中使用property对实例变量进行标识

2.在实现文件中使用synthesize对实例变量进行标识。

这样我们就不用再手动的创建set和get方法 。





如代码所示,注意一点,如果程序中还有其他的实例变量并且没有被标识的,在implementation中声明定义的时候应该放在@synthesize标识的变量之前进行声明。


三、点运算符点取实例变量。

类似于Java中调用成员变量和方法的方式都是使用点运算符进行调用。OC中也可以使用类的引用对其变量进行调用。但是并不建议使用该方法调用函数,一般只用在属性上,当对函数进行调用的时候还是建议使用方括号进行调用。


四、具有多个参数的方法

OC中具有多个参数的方法的定义方式:通过列出每个连续的参数并用冒号将其连起来,就可以定义一个接收多个参数的方法。用冒号连接的参数将成为这个方法名的一部分。
代码示例:


@interface Fraction : NSObject

@property int num,sum;
-(void)print;
//定义两个参数的方法
-(void)addNum:(int) n andSum:(int)m;
@end


//具体实现,将n和m复制给实例变量sun和num
-(void)addNum:(int)n andSum:(int)m{
sum = n;
num = m;
result = n+m;
}


//调用方法进行传参
[myFraction addNum:3 andSum:4];


也可以省略参数名称,直接使用冒号进行表示,但是会影响程序的可读性,因此不建议使用。

五、static和self关键字

static:在局部变量前面加static关键字可以使局部变量保留方法多次被调用之后所得的值。

局部静态变量和实例变量的区别:局部静态变量可以记录本身方法被所有对象调用的次数。实例变量只能记录被某个对象调用的次数。

self:self相当于当前类的引用,用来调用当前对象本身的方法,类似于java中得this。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: