首页 > 代码库 > 面向对象

面向对象

声明部分。.h文件 @inerface  类名 : 继承父类  

成员变量 下划线写法 和方法声明   -对象方法   +类方法

实现部分。 .m文件  @implementation      

内部在声明方法和成员变量,为该类的隐藏的局部方法。外部无法无法获取

 

对象对产生和使用

定义变量,创建对象,调用方法。

 类名 * 变量名 = [[类名 alloc] 初始化方法] ;

调用方法  [调用者  方法名:参数 形参标签:参数值 。。。]

 

堆-内存空间,对象实际存在位置

栈- 基本数据类型。和引用对象指针(内存地址)

xcode4.2引入自动引用计数(automatic reference counting, ARC) 

 

self 关键字 类似于 android中的this ;

 

id类型 类似于object 类型 动态绑定  运行时确定需要调用的方法,而不是在编译时确定要调用的方法。。类似于反射机制一样。

 

方法:形参个数可变方法 形式(参数, ...)

va_list: 类型 --用于定义指向可变参数列表的指针变量;

va_start:函数--处理可变参数列表,让指针变量指向可变参数第一个参数;

va_end :结束处理可变参数,释放指针;

va_arg: 函数--返回获取指针当前指向的参数值,并移动指针到下一个参数。

 

成员变量-三类(成员变量,局部变量,全局变量)

基本类型的实例变量初始化值为0   指针类型的成员变量默认值为 nil  

static 关键字的用法 (不能用于修饰成员变量,只能修饰局部变量。全局变量和函数。)

修饰局部变量表示将该局部变量存储到静态存储区;

修饰全局变量用于限制该全局变量只能在当前源文件中访问;

修饰函数用于限制函数只能在当前源文件中调用;

单例模式对应用  (singleton)

 

封装和隐藏

@private  @package @protected @public 

@package 同一映射。

合成存取方法 objective -c 2.0

接口部分用@property 修饰  实现部分用 @synthesize 修饰  

部分声明修饰单词(

assign

 atomic(nonatomic)线程安全(默认说线程安全atomic)

copy(是否拷贝副本)

readonly 只读方法

readwrite 默认读写

retain 计数传递效果。有ARC后 很少使用了。

strong 强引用

weak 弱引用

unsafe_unretained  类似于weak 但是它被回收后指针不会被赋值为nil 可能导致程序崩溃。

 

 

 

     

面向对象