1. #import" " 导入的是原文件的目录
#import< > 导入的是系统文件目录
2. 堆区中存放的是对象,是由程序员创建的
栈区是系统分配的,存储一些局部变量
数据区中的静态变量static,初始化一次,可以多次赋值(默认为0),可以多次访问,只可以在自己类中进行调用
代码区中存放点的就是技术人员所编写的代码
3. OC中的所有程序语句必须使用分号(;)结束
4. super是用来调用父类的方法(直接去父类中寻找方法)
self是先会从当前的类中寻找方法,如果没有找到,再去父类中寻找
5. 实例变量如果定义声明在接口文件(.h)中,是可以被子类继承的,有一个特例,如果类中有@property声明实例变量,则子类是不可被继承的。
实例变量在实现文件(.m)中声明定义,不可以被继承,是私有的。
默认的实例变量作用范围是当前类内部,默认继承的实例变量可以直接使用
oc只支持单继承,一个子类只可以继承一个父类
6. @class告诉编译器后面声明的名称是类的名称,不用考虑类的定义。
7. @selector+方法,生成一个十六进制的编号
8. 权限的控制 @public @privat @protected
9. 对象的多态是不同类的对象可以有相同名称的方法,主要有两大特性,动态类型和动态绑定。意思是说,只有程序在执行时,才知道对象调用的什么方法和类型,在编译时并不会产生警告。
10. id也是一种数据类型,可以用来存储任何类的对象,但是注意声明的时候并不需要加*号。
11.oc对象基本是用指针来进行声明的(类似id除外)
12. 同一个类的每个对象有不同实例变量的空间
同一个类的不同对象共享同一个实例方法
13. oc类的定义与实现
@interface class name:superclass
// 此处声明方法
@end
@implementation class name{
//此处声明实例变量
方法的实现
} @end