OC的一些小知识点(二)
1、面向对象四个主要特性:抽象性、封装性、多态性、继承性
2、类的声明
类的声明文件.h文件,用于声明成员变量、方法。类的声明使用关键字@interface和@end
类的实现
类的实现文件.m文件,用于实现.h中声明的方法。类的实现使用关键字@implementation和@end
3、实例变量常用作用域
@public 全局都可以访问
@protected 只能在类内部和子类中访问(默认访问权限)
@private 只能在类内部访问
4、+ 表示类方法(静态方法)
- 表示对象方法(动态方法)
5、方法的访问权限都是public,没有其他权限
方法不能再类的声明中实现
一个头文件中可以有多个类的声明
6、ZSStudent *stu=[[ZSStudent alloc]init];
+(instancetype)alloc;类方法
①alloc在堆区分配实例的内存空间,返回内存空间的首地址
②alloc将实例变量(isa除外)初始化为0
-(instancetype)init;对象方法
①init方法将实例变量初始化为有意义的值
②自定义类中,根据需要重写init方法
NSObjective无法预测派生类的实例变量是什么。所以在自己的类中,需要重写一下init方法,在init方法中,初始化实例变量
1 -(instancetype)init{ 2 self=[super init]; 3 if (self) { 4 stuName=@"小明"; 5 age=18; 6 } 7 return self; 8 }
7、OC方法的调用有两种:
[类名或者对象名 方法名];
对象名.方法名