——- android培训、java培训、期待与您交流! ———-
set 方法和 get 方法
@public 的成员变量可以被随便赋值,可以使用 set 和 get 方法来管理成员的访问
set 和 get 相当于将成员变量封装
1.过滤不合理的值
2.屏蔽内部的赋值过程
set 方法 : 用来设置成员变量,可以在方法里过滤一些不合理的值
方法都是以 set 开头,后面跟成员变量名且首字母大写
参数类型跟成员变量类型一致
get 方法 : 返回对象内部的成员变量
get方法的名称一般跟成员变量同名
成员变量的命名规范
1. 成员变量都以下划线 _ 开头
2. 可以跟 get 方法的名称区分开
3. 可以跟其他局部变量区分开
类方法
类方法:直接用类名执行的方法
类方法与对象方法对比:
类方法
1.以 + 开头
2.只能用类名调用,对象不能调用
3.类方法中不能访问成员变量
对象方法
1.以 - 开头
2.只能对象调用
3.对象方法能访问成员变量
使用:当方法中不包含成员变量时,就可以定义类方法
self 关键字
使用情景:
所有的OC方法中(对象方法或者类方法)
不能出现在函数中
作用:
1> 使用"self -> 成员变量名" 访问当前方法调用的成员变量
2> 使用[self 方法名]; 来调用方法(对象方法、类方法)
类的特性:继承、多态、封装
继承 : 继承抽取出来的共性的类
NSObject 和 NSProxy:全部OC类的最终父类。
子类方法和属性的访问过程:如果子类没有,才去访问父类的
继承细节:
1.单继承
2.子类和父类不用有相同的成员变量
3.方法重写
super 的作用 : 直接调用父类中的某个方法
1> super 在对象方法中,那么调用的父类的对象方法
2> super 在类方法中,那么调用的父类的类方法
使用: 子类重写父类的方法时想保留父类的一些行为
self与super 区别
self 调用方法
当前类中查找 ----> 父类中查找 ----> 父类的父类查找 ----> ...
super 调用方法
父类中查找 ----> 父类中查找 ----> ...
多态
1.没有继承就没有多态
2.代码的体现:父类类型的指针指向子类对象
好处:如果函数、方法参数中使用的是父类类型。提高扩展性,节省代码
局限性:不能访问子类的特有属性(可以通过强制类型转换访问)
动态绑定:在运行时根据对象的类型确定动态调用的方法
调用方法时会检测对象的真实类型
——- android培训、java培训、期待与您交流! ———-