美文网首页
类的本质

类的本质

作者: MarkTang | 来源:发表于2016-01-09 00:49 被阅读48次
获取类的对象
[实例对象 class];
[类名 class];

Class *c1 = [p1 class];


2.用于创建实例对象
person * p3=  [[c3 alloc]init];

2.2用于调用方法

[c1 test];

3.用于作为函数参数

-(void)test(Class c)
{
    
    id obj = [[c alloc]init];
    return obj;
}
小写 class 是方法
大写Class是数据类型

//问题:类的本质是什么?
答:

创建类对象
          类其实也是一个对象, 这个对象会在这个类第一次被使用的时候创建
          只要有了类对象, 将来就可以通过类对象来创建实例对象
          实例对象中有一个isa指针, 指向创建自己的类对象
          类对象中保存了当前对象所有的对象方法
          当给一个实例对象发送消息的时候, 会根据实例对象中的isa指针去对应的类对象中查找
          所有类对象的继承关系就是元类对象的继承关系
----------------------------------------------------------------
#mark- 17-获取类对象及类对象应用场景
//问题1:如何获取类对象?
答:

[Person class]
          // [实例对象 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:类对象的应用场景
答:
          用于创建实例对象
          
          Person *p3 = [[c1 alloc] init];
          p3.age = 30;
          NSLog(@"%i", p3.age);
          用于调用类方法
          
          [Person test];
          [c1 test];

相关文章

  • 类的本质

  • 类的本质

    类的本质 1.类的本质 类的本质其实也是一个对象(类对象) 程序中第一次使用该类的时候被创建,在整个程序中只有一份...

  • 类的本质

    1、类有isa指针、结构体成员变量、类方法 *isa指针的作用:是一个Class 类型的指针. 每个实例对象有个i...

  • 类的本质-类对象

    前言 今天整理了下自己电脑里的一些碎片笔记,时间有限只整理了这篇文章——类的本质,大家可以进行参考。 1.本质 类...

  • Runtime:OC对象、类、元类的本质

    零、Runtime是什么一、OC对象的本质二、OC类的本质三、OC元类的本质四、Runtime关于对象、类、元类的...

  • 类的本质 - OC

    Person *p = [Person new]; 我们都说p是Person类型的变量,但其Person它其实还是...

  • iOS类的本质

    1.类的本质 类的本质其实也是一个对象(类对象)程序中第一次使用该类的时候被创建,在整个程序中只有一份。此后每次使...

  • iOS类的本质

    首先,我们看下几个类型:NSObject、Class、objc_object、objc_class、id的联系与区...

  • 【感想】知识的迁移

    简单来说,就是A类事物的核心本质是C,而B类事物的核心本质也是C。 要做的就是学习A类事物后,发现它的核心本质C,...

  • iOS 类本质

    Objective-C代码,底层实现其实都是C\C++代码。 使用基本代码验证对象是什么: oc代码: int m...

网友评论

      本文标题:类的本质

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