#import <Foundation/Foundation.h>
#import "Person.h"
#import "Car.h"
void demo(Class c);
int main(int argc, const char * argv[]) {
// 1.如何获取类对象
// [实例对象 class]; [类名 class];
Person *p1 = [[Person alloc] init];
Person *p2 = [[Person alloc] init];
// 一个类再内存中只有一份类对象
Class c1 = [p1 class];
Class c2 = [p2 class];
Class c3 = [Person class];
NSLog(@"c1 = %p, c2 = %p, c3 = %p", c1, c2, c3);
// 2.类对象的应用场景
// 2.1用于创建实例对象
Person *p3 = [[c1 alloc] init];
p3.age = 30;
NSLog(@"%i", p3.age);
// 2.2用于调用类方法
// [Person test];
[c1 test];
demo(c1);
demo([Car class]);
return 0;
}
void demo(Class c)
{
id obj = [[c alloc] init];
NSLog(@"%@", obj);
}
网友评论