Object-C学习--类

来源:互联网 发布:网站后端性能优化 编辑:程序博客网 时间:2024/06/05 03:42

1.从Object-C2.0开始,能让系统自动生成变量的取值,设值方法。只需在.h文件中以@property来标识属性(实例变量),在.m文件中一@synthesize来标识所声明的属性,这样系统就能自动生成设值方法和取值方法


2.Object-C2.0开始,新增了点“.”操作符,可以非常简便的访问属性,但是点操作符只是相当于替换了类的get,set方法,不能用在类的其他方法上。


3.多输入参数的方法,即一个方法可以具有多个输入参数,而且写法“怪异”,如:

-(void) setIntX:(int)n andSetIntY:(int)d

可以理解为在Object-C中里面的方法名可以被分割成几段,我们这样来调用它:

[test setIntX:1 andSetIntY:2]

在调用多参数方法时,可以省略从第二个开始的方法名字,比如上面的调用可以省略掉andSetIntY

[test setIntX:1:2]

不过为了容易理解和维护,不建议这么写,但是看到这样的代码也要知道是什么意思。


4.方法前的+表示是类方法,-标识是实例方法。


5.静态变量可以用关键字static声明,常量可以用constant声明。


6.Object-C中的协议类似于Java中的接口,协议中只给出方法名,如果一个类要遵守一个协议,该类就必须实现这个协议的所有方法(可选方法除外)。


7.协议是一系列方法的列表,任何类都可以声明自身实现了某一个协议或某一些协议,Object-C2.0以后协议中出现了可选方法,用@optional修饰。


8.声明协议的格式:

@protocal MyProtocal

-(void) myMethodOne (NSString *) str;

@end

9.通过@interface中的一对尖括号列出协议的名称,告诉编译器你正在遵守的一个协议,比如:

@interface Test:NSObject <MyProtocal>


10.检查一个对象是否遵守某个协议:

if([someObject conformsToProtocal @Protocal (MyProtocal)]==YES)

{

//一些操作

}


11.遇到指针,注意3个问题:

指针的类型是什么?

指针指向的类型是什么?

指针指向了哪里?


12.对象变量实际上是指针










0 0
原创粉丝点击