1.面向对象 关注的是 解决问题的步骤
面向对象 关注的是 解决问题需要哪些对象
// 类方法和对象方法的区别
2.类方法不能访问成员变量
// super使用场景
3.子类重写父类的方法时,想保留父类的一些方法
// 继承
4.继承的好处:抽取了公共代码
坏处:代码的耦合性强
// 多态
5.多态:多种形态
每个OC对象都有多态性
1>父类指针指向父类对象
2>父类指针指向子类对象
多态的好处: 增强了扩展性,降低耦合性
局限性: 父类的指针不能调用子类特有的方法,只有强转为子类指针后才能调用
// init方法\点语法 的作用
6.init方法:称为构造方法,构造方法其实是用来初始化对象的
点语法:就是用来调用set和get方法
// @property参数
7.Xcode4.4前:自动生成set和get方法声明
Xcode4.5后:自动生成set和get方法声明\实现,并增加_开头的成员变量
控制set方法
**1>retain: release旧值,retain新值
2>直接赋值,不做任何内存管理
3>copy
// category(分类)
8.作用:在不改变类的情况下给一个类动态添加方法
注意:分类可以访问原来的成员变量和方法,但不能添加成员变量
// protocol
9.只要遵守了这个协议,相当于拥有协议里面的所有方法声明
NSObect:基协议
// block与函数的对比
10.
1>可以保存代码
2>有返回值
3>有形参
4>调用方式一样
5>block可以放在任意位置
10.1
block内部可以访问外面的变量
默认情况下,block内部不能修改外面的局部变量
给局部变量加上_block关键字,block内部就能修改这个局部变量
10.2
利用typedef定义block类型
typedef int (^myBlock)(int, int);
// 以后就可以利用myBlock这种类型定义block变量