isa:需要注意的是在Objective-C中,所有的类自身也是一个对象,这个对象的Class里面也有一个isa指针,它指向metaClass(元类),我们会在后面介绍它。 super_class:指向该类的父类,如果该类已经是最顶层的根类(如NSObject或NSProxy),则super_class为NULL。 cache:用于缓存最近使用的方法。一个接收者对象接收到一个消息...
元类代替了类对象描述了类方法,就像类对象代替了实例对象描述了实例化方法。 很显然,元类也是对象,也应该是其他类的实例,实际上元类是根元类(root class’s metaclass)的实例,而根元类是其自身的实例,即根元类的isa指针指向自身。 类的super_class指向其父类,而元类的super_class则指向父类的元类。元类的su...
根据规则所有元类使用基类的元类作为他们的类,那么基类的元类就是他自己的类(他们的isa指针指向了自己)。这表明NSObject的元类的指针指向的是他自己(他是一个他自己的实例)。 继承类和元类 同样的,类使用 super_class 指针指向他们的 superclass,元类也有 super_class 指针来指向 superclass。 这里又有一个奇...
OC对象的内存布局相对于C++更为复杂一些,出现了元类的概念: OC对象内存布局 简单来说,最左边的是对象(Instance),中间的是类(Class),最右边的是元类(Meta Class)。属性(包括父类)都保存在对象本身的存储空间内;本类的实例方法保存在类中,本类的类方法保存在元类中。 那么对象的内存布局如下:isa 指针指向其类...
objMetaClass1、objMetaClass2就是NSObject的meta-class对象(元类对象) 每个类在内存中有且只有一个meta-class对象 meta-class对象和class对象的内存结构是一样的,但是用途不一样,在内存中存储的信息主要包括: isa指针 superclass指针 类的类方法信息(class method)等 ...
(2) 每一个类对象都有一个isa指向唯一的Meta class (3) 每一个元类对象的 isa指针都指向 NSObject的元类对象 消息传递和转发机制 消息传递(Messaging):在对象之间传递数据并执行任务的过程 Objective-C基于C语言加入了面向对象特性和消息转发机制的动态语言。除编译器外还须要用Runtime系统来动态创建类和对象进行...
类也是一个对象,它是另外一个类的实例,这个就是“元类”,元类里面保存了类方法的列表,类里面保存了实例方法的列表。实例对象的isa指向类,类对象的isa指向元类,元类对象的isa指针指向一个“根元类”(root metaclass)。所有子类的元类都继承父类的元类,换而言之,类对象和元类对象有着同样的继承关系。
容器类分为两类: (1)、Collection——一组独立的元素,通常这些元素都服从某...浅谈 类与对象 标题:浅谈java 类与对象 一,类与对象 图示: 解释: 1.类:是虚拟的,是人用在现实中很多对象的共同特征与人的抽象思维结合起来发掘的,是一个模版结果,依赖于对象的存在。没有对象也就没有它的存在和意义。但是...
元类的isa指向哪里?所有元类的isa指针都指向基类的元类。如果一个类没有父类,其元类就指向自身。元...
isa:在大多数的面向对象的语言中,都有类和对象的概念。其中,对象是类的实例,是通过类数据结构的定义创建出来的,对象的isa指针是指向其所属类的。同时,在Objective-C语言中,类本身也是一个对象,类作为对象时isa指针指向元类(Meta Class),后面会详解;