OC学习笔记八 类

一.类

类的声明(@interface 部分)要放在它自己名为class.h 的文件中。

类的定义(@ implementation 部分)放在相同名称的文件中,扩展名为.m


类中导入其他文件

导入本地文件需要用引号引起来,而不是<>,<>用于系统文件  import <Foundation/ Foundation.h>



二合成存取方法

OC 2.0后,可自动生成设值方法和取值方法。需要采取以下步骤

1.在接口部分使用 @property

例如:

@interface Fraction:NSObject
@property int numerator, denomination;
@end;


2.在实现部分用 @synthesize

例如:

@implementation Fraction{}
@synthesize numerator, denomination;
@end;

使用了@property 指令,就不需要在实现部分声明相应的实例变量,编译器通过 @synthesize 为两个属性生成设值方法和取值方法


三。点运算符访问属性

OC 可以通过点运算符访问属性。格式如下:

instance.property


例如:

Fraction *f = [[Fraction alloc] init];
f.numerator

也可以通过 点运算符来赋值

f.numerator = 4    等价于 [f setNumerator:4]



四 多个参数的方法

用“:”冒号连接 每个参数名,就可以定义一个多个参数的方法,用冒号连接的参数也是这个方法名的一部分。

例如:

setNumerator:(int ) n setDenomination:(int) d;
[f setNumerator:3 setDenomination:3];



参数名实际上是可选的,例如声明以下方法

- (int) set :(int) n:(int) d;这个方法名为set::,调用方式如下
[f set:2:2]


五 局部变量

局部变量是基本的的C 数据类型,并没有默认的初始值,使用前先赋值,局部变量的默认初始化为nil ,和实例变量不同,当跳出局部变量作用域,则清空。方法参数就是局部变量,只能在方法内部用

例子

int count=0;//全局变量

while(count<10){
    int tmp=count;//tmp 局部变量
    tcount++;
}

NSLog(@"%i",count);
NSLog(@"%i",tmp); //报错,无法访问局部变量,局部变量只能在作用域中使用



六 static 关键字

在变量申明前,加上static 就成了静态变量,静态变量在初始化的时候复制,然后改变的值,所有方法都可以访问,如果某一方法赋值后,则静态变量将保留该值。其他方法访问时也是该值。

例子:

int count=0; //计数器
static int tmp =0;

while(count<10){
    tmp=count;//tmp 局部变量
    tcount++;
}

NSLog(@"%i",tmp); //输出9 ,它会保留在 循环过程中的赋值。


七 self 关键字

关键字self 是用来指明对象是当前方法的接收者

[self FunctionName];


转载于:https://my.oschina.net/wolx/blog/317178

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值