Object c学习知识点零散记录

来源:互联网 发布:3ds网络视频 编辑:程序博客网 时间:2024/05/17 02:23

(1)Object C不是严格的重载

-(int) counter:(int)x;

-(int) counter:(float)x;//错误,和第一个方法冲突!


-(int) counter:(int)x :int(y);

-(int) counter:(int)x :float(y);//错误,与上一个方法冲突,因为两者都是匿名标签的函数(counter::)

-(int) counter:(int)x andPlus:(int)y; //正确,方法名字为(counter : andPlus:)


(2).h文件中的所有函数都是public,默认声明是@protected

(3)点语法

例如,foo类中有int属性value,那么如下命令行意思相等

foo.value=200[foo setValue:200]既setter方法

age=foo.valueint age=[foo value]既getter方法

(4)如上,在类的内部访问value是访问属性,而self.value是访问其setter方法

(5)如果需要区分属性和方法名,可以如下表示

.h文件:

@interface foo{

int _value;

}

@property int value;

@end;

.m文件

@implementation foo

@synthesize value=_value;

@end;

 (6)property的属性

(缺省) readwrite,有getter和setter函数

readonly,只有getter函数

(缺省) assign

retain

copy

nonatomic 表示不考虑线程安全问题

 (7) 构造函数:initWithXXXX,既初始化

 (8) 析构函数:对象从内存中销毁前夕调用的函数

 (9) +方法就是静态方法,在类的第一次实例化时调用,只调用一次

 (10)  

 (11) 


0 0
原创粉丝点击