OC 基础
set / get
set方法:
1.作用:
提供一个方法给外界设置成员变量,可以在方法里面对参数进行相应的过滤
2.命名规范:
1.方法名以set开头
2.set后面跟上成员变量名称
3.返回值一定是void
4.一定要接收一个参数,而且参数类型跟成员变量类型一致
5.形参的名称不能跟成员变量名一样
get方法:
1.作用:
返回对象内部的成员变量
2.命名规范:
1. 肯定有返回值,返回值类型肯定与成员变量一致
2. 方法名跟成员变量名一致
3. 不需要接受任何参数
===============================================================================
类 / 对象方法
类方法:
类方法都是以 + 开头
类方法用类名调用
类方法中不能访问成员变量 (实例变量)
类方法的好处和使用场合
不依赖于对象, 执行效率高
能用类方法尽量用类方法
场合: 当方法内部不需要使用到成员变量时, 就可以改为类方法
对象方法:
对象方法都是 - 开头
对象方法由对象调用
对象方法中能访问当前对象的成员变量 (实例变量)
注意: 可以允许类方法和对象方法同名
===============================================================================
继承
好处:
1. 抽取代码
2.建立子类之间的关系
3.子类可以拥有父类中的的所有成员变量和方法
注意:
父类必须声明在子类的前面
基本上所有类的根类是NSObject
不允许子类和父类拥有相同的名称的成员变量
调用某个方法时, 优先去当前类中找, 如果找不到去父类中找
重写:
子类重新实现父类中的某个方法,覆盖父类以前的做法
缺点:
耦合性强(当某个类不见了, 另一个类不能使用)
===============================================================================
多态
没有继承就没有多态
多种形态
父类指针指向子类对象
好处:
如果函数/方法参数中使用的是父类类型,可以传入父类/子类对象
局限性:
父类类型的变量,不能直接调用子类特有的方法. 必须强转为子类类型的变量后,才能直接调用子类特有的方法