首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OC 对象的分类

Objective-C中的对象,简称OC对象,主要可以分为3种 instance对象(实例对象) class对象(类对象) meta-class对象(元类对象) instance instance...对象就是通过类alloc出来的对象,每次调用alloc都会产生新的instance对象 NSObject *obj1 = [[NSObject alloc] init]; NSObject *obj2...而instance对象在内存中存储的信息包括 isa指针 成员变量的值_age = 5,这个5就是存在于实例对象中的 Class 对象 查看以下代码中的内存地址 NSObject *object1 =...objectClass1~objectClass5都是NSObject的Class对象(类对象) 它们是同一个对象,每个类在内存中只有一个Class对象 Class对象在内存中存储的信息主要包括...instance对象的isa指向class。 当调用对象方法时,通过instance的isa找到class,再找到对象方法进行调用。 class对象的isa指向meta-class。

65081

「类与对象」NSObject对象的分类

概要 刚开始接触Objective-C语言的时候,看到说到的最多的概念就是「类和对象」。最初的认识停留在把类实例化就变成对象了,天真认为只存在类与对象两种。...其实,存在三种类型(高富美)的对象,分别是实例对象、类对象、元类对象。经常挂在嘴边的「类与对象」在本质上只是指类对象与实例对象。说了这么多对象,可就没有一个属于单身狗的( ̄▽ ̄)*。...实例对象(Instance) 实例对象的产生 实例对象是通过类alloc出来的对象,一个实例对象占用一块内存。...isa指向该实例对象对应的类对象,类对象的isa指向该类对象所对应的元类对象,环环相扣。...1、2可知,元类对象的isa都指向基类的元类对象,由走势线3可知,基类的元类对象的isa指向自身。

67010
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    类与对象」NSObject对象的分类

    最初的认识停留在把类实例化就变成对象了,天真认为只存在类与对象两种。 其实,存在三种类型(高富美)的对象,分别是实例对象、类对象、元类对象。...isa指向该实例对象的地址,是实例对象编译后的结构体中的第一个成员变量。...isa指向该实例对象对应的类对象,类对象的isa指向该类对象所对应的元类对象,环环相扣。...1、2可知,元类对象的isa都指向基类的元类对象,由走势线3可知,基类的元类对象的isa指向自身。...同理,类对象调用类方法,通过类对象的isa指针找到对应的元类对象,再从元类对象的类方法列表找到对应的方法调用。 基于superclass的对象间关系 情景一:类对象 ?

    69630

    js中的对象

    js中的对象 在编程语言中,提到对象,一般都含有一个隐藏的上下文面向对象编程。 面向对象编程(Object Oriented Programming,缩写为 OOP)是目前主流的编程范式。..., cedf:function(){console.info("cdef")}, "arr":[1,2,3], o:{"name":"jake"} } “在js中,对象是属性的无序集合...2. js中对象的分类 众观整个js中的对象,可以分成三类: 内置对象 宿主对象 自定义的对象 2.1 内置对象 “由ECMA实现、不依赖于宿主环境的对象,这些对象在js程序执行之前就已经存在了”。...js有两个运行的环境: (1) 浏览器。我们在.html文件中加入js代码,再通过浏览器来打开,这里浏览器就是javascript的运行环境。 在浏览器端的js而言,宿主对象就是浏览器对象。...nodejs也提供了运行js代码的环境。在node中有一个global对象 2.3 自定义对象 这才是我们展示身手的地方。例如: $, Vue 等等。 3.

    6.9K50

    JavaScript对象:你知道全部的对象分类吗?

    在前面的课程中,我已经讲解了 JavaScript 对象的一些基础知识。但是,我们所讲解的对象,只是特定的一部分,并不能涵盖全部的 JavaScript 对象。...理解这些对象的性质,我们才能真正理解我们使用的 API 的一些特性。 JavaScript 中的对象分类 我们可以把对象分成几类。 1. ...用对象来模拟函数与构造器:函数对象与构造器对象 我在前面介绍了对象的一般分类,在 JavaScript 中,还有一个看待对象的不同视角,这就是用对象来模拟函数和构造器。...函数对象的定义是:具有[[call]]私有字段的对象,构造器对象的定义是:具有私有字段[[construct]]的对象。...除了上面介绍的对象之外,在固有对象和原生对象中,有一些对象的行为跟正常对象有很大区别。

    67330

    JS面向对象

    JS面向对象 理解对象 数据(数据描述符)属性 数据属性有4个描述内部属性的特性 [[Configurable]] 表示能否通过delete删除此属性,能否修改属性的特性,或能否修改把属性修改为访问器属性...默认为 undefined 创建/修改/获取属性的方法 Object.defineProperty() 功能:方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。...语法: Object.defineProperties(obj, props) obj: 将要被添加属性或修改属性的对象 props: 该对象的一个或多个键值对定义了将要为对象添加或修改的属性的具体配置...(自有属性指的是直接赋予该对象的属性,不需要从原型链上进行查找的属性) 语法: Object.getOwnPropertyDescriptor(obj, prop) obj: 需要查找的目标对象 prop...1=> js代码: var oInput1 = document.getElementById('input1

    7.3K20
    领券