面向对象的三大特点——1封装
成员变量最好不要加@public(不是public,则像A->age这种就用不了)用get得到值,要设置set方法。利用set方法设置值,封装。好处——保护数据安全性。
get方法
1.作用:返回对象内部的成员变量
2.命名规范:
1> 肯定有返回值,返回值类型肯定与成员变量类型一致
2> 方法名跟成员变量名一样
3> 不需要接收任何参数
*/
set方法
1.作用:提供一个方法给外界设置成员变量值,可以在方法里面对参数进行相应过滤
2.命名规范:
1> 方法名必须以set开头
2> set后面跟上成员变量的名称,成员变量的首字母必须大写
3> 返回值一定是void
4> 一定要接收一个参数,而且参数类型跟成员变量类型一致
5> 形参的名称不能跟成员变量名一样
*/
下划线成员变量,局部变量不用下划线
只读的只有get方法,set方法里可以处理一些数据
OC的弱语法。不要那么写
怎么快速注释掉
类方法不能访问成员变量(实例变量)
类方法可以调用对象方法,对象方法也可以调用类方法。
可以允许类方法和对象方法同名
成员变量必须要_开头
1 self是调用对象/类方法,对象变量,不能调用类变量(类不能访问成员变量),
2 如果对象方法和类方法同名时候,(self在中间方法中)由类调用中间方法,则中间方法调用那个同名类方法,由对象调用则调用对象方法,总之由调用的那个最大主人确定。和Java中的this不一样是this不能调用类方法。
继承的好处:抽取重复代码,建立类的之间的关系
继承(isa)的注意点
1 编译器是从上到下的。父类声明必须写在之类的前面。
2 Oc里面不允许子类好父类拥有相同名称的成员变量。(Java中可以的)
3 调用方法时候优先在当前类中,找不到到父类中找。
4 方法可以和父类相同,相同时候就覆盖掉。
5 new方法在NSObject,其他类调用都到它里面找
6 组合关系 has a
7 super使用场景——子类重写父类的方法时候,想保留父类的某个行为,
弱语法
NSString
NSStringstringWithFormat