美文网首页
07-13、如何获取类对象以及类对象的应用场景:Class

07-13、如何获取类对象以及类对象的应用场景:Class

作者: 山中石头 | 来源:发表于2017-09-22 14:26 被阅读0次
    #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);
    }

    相关文章

      网友评论

          本文标题:07-13、如何获取类对象以及类对象的应用场景:Class

          本文链接:https://www.haomeiwen.com/subject/lyxfextx.html