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

一、类的声明、实现以及使用文件相分离。

与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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章