被带的实习生问到的, 猛的一问还真想不出什么根本性的不同来.
我当时的回答是, object 是一种客观上的概念, 例如哺乳类(class)包含了人类这个对象(object), 那么我们根据人类这个概念描述具体一个人类例如王小明这个实例(instance)属于人类, 75kg 180cm. 但是也可以说, 王小明是人类(object).实例跟对象只是语境上的不同, 用于强调存在 materialize 这一过程, 二者在绝大多数语境下相同.
但其实我完全不知道对不对...
1
CismonX 2020-01-28 02:34:43 +08:00 via iPhone 13
很好理解。不论是 object 还是 class,描述的都是一个事物,而 instance 描述的是两种事物之间存在的一种关系,即 instance is an example/occurrence of something.
因此,就有: An object is an instance of a class A class can be an instance of a class template A running java program is an instance of JVM 等等 |
2
deletelazy 2020-01-28 02:39:11 +08:00 via iPhone 1
差不多吧,我理解是 object 是定义,object 运行之后就是 instance。可以理解为一个东西的不同阶段?
还有以下例子: object 运行之后就是 instance 代码运行之后就是程序 镜像运行之后就是容器 |
3
andrewpsy 2020-01-28 02:48:51 +08:00
Class 定义如何建立一个 object,这个 object 具体应该有什么 state 和 behavior,并且描述了 state 的具体情况和 behavior 的工作方式。
Object 就是一个被 Class 定义好的模版。 Instance 是一个具体化了的 object 实例。 |
4
widewing 2020-01-28 05:31:11 +08:00 via Android
等等。。我们聊的是 python 吗?
|
5
whileFalse 2020-01-28 10:41:42 +08:00 1
instance 是 class 通过 new 创建的。说到 instance,就隐含着这个 instance 的 class。可以把 instance 类比为儿女。说到儿女,就隐含着父母的存在,虽然没有直接提及。
所有东西都是 object。class 是 object,instance 也是 object。可以把 object 类比为人类。 |
6
vjnjc 2020-01-28 10:59:52 +08:00 1
instance 是 runtime 的 object ?
|
7
ArianX 2020-01-28 11:16:10 +08:00 via Android 1
instance 是相较于 class 而言的,而不管 class 还是 instance,都是 object。
|
8
charlie21 2020-01-28 11:33:54 +08:00 via Android 3
能问出这种问题来的实习生,如果不是故意的,是实习生在故意试探你吧 。废什么话阿跟他,Google 一下不就完事了吗?你应该回答的是公司机密型的问题 而不是大学老师回答的没六的问题。 最好提问收费 问一个问题 100 块,他自己就 Google 去了
|
9
rogwan 2020-01-28 11:40:12 +08:00 via iPhone
万物皆 obj,不说万物皆 instance。
|
10
ipwx 2020-01-28 11:48:07 +08:00 via Android
就好像 gmt 和 utc+0 有啥区别 这个问题。你要说是完全一样的,不尽然。但是大部分情况下都指代相同的概念。所以是个没太大意义的问题。
|
11
zjsxwc 2020-01-28 11:58:06 +08:00 via Android
因为还有不 runtime 的 object,比如 kotlin 里的 object 语法糖
|
12
JmmBite 2020-01-28 12:27:57 +08:00
人类是人类,你仅仅就是你。
|
13
msg7086 2020-01-28 13:33:26 +08:00
「对象」是一个有行为的东西。
「实例」是一个模板的具象。 如楼上几位所述。实例是类的实例,而类和实例都可以是对象。 在完全面向对象的语言里,所有的东西都是对象。 |
14
palmers 2020-01-28 13:37:56 +08:00
|
15
good1uck 2020-01-28 13:55:05 +08:00
object 是种数据结构,由某些类型的抽象或具体的 function 字段和 data 字段构成
instance 是数据,有着确定的 function 定义和确定 data 值 |
16
good1uck 2020-01-28 13:56:28 +08:00
当然了结构本身也是种数据,这种数据的用途就在于实例化
|
18
ClericPy 2020-01-28 18:49:41 +08:00
点进来以前以为会讨论 A class is an instance of a metaclass.......
|
19
blless 2020-01-28 19:07:47 +08:00 via Android
instance 是特指,object 是泛指啊。instance 是独一无二的!
|
20
wangyzj 2020-01-28 21:33:26 +08:00
王小明属于哺乳类(class)
是长的像人的一个实例(instance) 所以管继承类叫 object ? |
21
JerryCha 2020-01-28 22:49:41 +08:00
instance -> example
object -> matter |
22
chrischeng021 2020-01-28 23:06:54 +08:00
object 是一个概念层的定义吧,而 instance 是一个客观存在的实体
就 人 这个 object 的#生物学#定义 可能就是 真核总界 动物界 后生动物亚界 后口动物总门 脊索动物门 脊椎动物亚门 羊膜总纲 哺乳纲 真兽亚纲 灵长目 类人猿亚目 狭鼻猴次目 类人猿超科 人科 人亚科 人族 人属 智人种 然后对于这个 object 的一个实例对象,就是你我他 |
23
IvanLi127 2020-01-29 01:28:30 +08:00 via Android
对象就是类的实例化,instance 就是 object。单例模式下你的这个实例不就是一个大家一起用的对象嘛?
|
24
LDa 2020-01-29 02:57:06 +08:00
object 还是属于定义和概念阶段吧?实例化之后他成了一个具体的事物,称为 instance ?我的个人理解
|
25
wanguorui123 2020-01-29 12:29:22 +08:00
object 是定义,instance 是通过定义创造的一个具体事物
|
26
wanguorui123 2020-01-29 12:29:59 +08:00
object -> 人,instance -> 小明
|
27
yjxjn 2020-01-29 16:37:12 +08:00
对象是一种抽象的概念,而实例代表把这种抽象具体化,也就是说最简单的,人都有头,耳朵,身体会说话这几种特征等等,但是实例化,就代表是小明,小红,小白等等。
|