---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
一、概念
类也是一个对象,是Class类型的对象,简称“类对象”,类名就代表着类对象,每个类只有一个类对象。
typedef structobjc_class *Class
二、获取类对象的方式
1、类方法
Class c = [Person class];
2、对象方法
Person *p = [[Person alloc] init]; //创建一个Person对象
Class c = [p class]; //调用Person对象的class方法
三、注意点
1、类对象就等于类
Person *p = [[Person alloc] init]; //创建一个Person对象
Class c = [p class]; // 将class类型指针c指向Person类对象
Person *p2 = [[c alloc] init]; // 用类对象调用类方法
四、initialize方法和load方法
1、当某个类第一次被调用时,会先调用其initialize方法进行初始化
2、程序启动时,会加载项目中的所有类和分类,并调用其load方法(只会调用一次)
3、注意点
加载的顺序是 父类->子类->分类 (程序会加载所有的类及分类,所以原始类的load方法不会被分类的所覆盖)
初始化的顺序是父类(分类)->子类(如果分类有initialize方法,那么原始类的initialize方法将被覆盖)
initialize方法和load方法都是类方法,不要将initialize(类方法)和init(对象方法)相混淆
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com