2013-07-22 OC课程总结

一、类和对象          对象的初始化   可以认为方法就是面向过程,实例就是面相对象
二、对象属性         属性可以认为是对象或类的特征,它表示对象的当前状态,他是供外界访问和设置用的。
    对象先声明 

nonamitic
assign   c语言中的基本的额数据类型int、char、long等都可以用assign
retain 
copy         练习:什么叫深
复制 /浅复制
readonly
默认的setter  getter方法  主张用@property  早property中使用了retain那么在相应的dealloc方法中要将该成员变量release一次

-(void)setName:(NSString *)aName
{
    if(_name != aName)
    {
        [_name release];
        _name = [aName retain];
    }
}

手动setter的好处  正确性校验,业务逻辑等 
name = _name :_name是对外的也就使属性,  name是对内的也就使成员变量
 
 
三、OC中的方法    类方法和实例方法  方法的声明    init alloc方法

四、面向对象的三大特征
封装:类封装了对象     属性封装了具体的实例变量
继承:从父类继承相应的非私有的方法,OC中没有私有方法,一次子类会继承父类的所有非私有的  变量和方法(对方法而言是所有的),继承协议的话,那么这个协议是要写在类里面的,
多态:
变量的方位权限
@private:
@protected:本类和子类都对其可见
@public:这个破坏了类的封装新,因此很少用


如果是系统的方法那么切记别忘了dealloc方法
[super dealloc]

确切的说OC中是没有重载的(因为冒号是方法中的一部分),它的重载叫做操作性多态(在一个类里面,)
重写(覆盖) 发生在父类和子类之间

虚函数:通过重写实现虚函数

多态:就是站在抽象的层面实施一个统一的行为,到个体(具体)的层面上时,这个统一的行为会因为个体(具体)的形态特征而实施自己的特征行为,总而言之,不同的个体对统一行为的反应是不一样的。


五、内存管理
alloc retain copy 要release 
引用计数  控制权
autorelease

六、KVC KVO
KVC :将属性编码成相应的字符串,通过这个字符串的改变来通知....
KVO:当属性值发生变化时时,系统能监听到这个变化
注册监听者
实现监听
在dealloc中移除监听

通知:一对多,通知的对象必须存在,name(标识通知的名字),object(消息的发送者),dictionary(参数)
通知可以不在乎啊发送者是谁

传值

通多单例获取对象有
通知
单例
nsfilemanager

注册,post,移除

单例传值
代理传值
通知传值
blocks传值


七、类目延展和协议
代理传值

类目定义,使用

延展:伪私有

协议
 





八、字符串和集合
九、文件操作
 
声明静态变量的地方:
.m定义静态变量
在方法里面声明 


OC中存在对象初始化不成功的现象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值