//---------------------------类对象 1,类的本质其实也是一个对象(类对象); 类对象 *类对象在程序运行时一直存在。 *类对象是一种数据结构,存储类的基本信息:类大小,类名称,类的版本以及消息与函数的映射表等 *每一个对象都包含一个指向其类对象的isa指针。
2、类对象如何获取 通过实例对象获取 Dog *d1 = [Dog new]; Dog *d2 = [Dog new]; Class c = [d1 class]; Class c2 = [d2 class];
通过类名获取(类名其实就是类对象) Class c3 = [ Dog class ];
因为类对象在整个程序中只存在一份, 所以 c = c2 = c3
3.类对象的使用 1)可以用来调用类方法 : //获取类对象 Class c1 = [Person class]; //使用类对象调用类方法 [c1 test]; // test是一个+号方法
2)可以用来实例化实例对象, 并且调用对象方法 //获取类对象 Class c1 = [Person class]; //使用类对象创建实例对象 Person *p = [c1 new]; [p test]; // -test 调用对象方法
类对象只能使用在等号右边
|