今天突然被人问到 object 和 instance 有什么不同

2020-01-28 02:12:02 +08:00
 loliordie

被带的实习生问到的, 猛的一问还真想不出什么根本性的不同来.

我当时的回答是, object 是一种客观上的概念, 例如哺乳类(class)包含了人类这个对象(object), 那么我们根据人类这个概念描述具体一个人类例如王小明这个实例(instance)属于人类, 75kg 180cm. 但是也可以说, 王小明是人类(object).实例跟对象只是语境上的不同, 用于强调存在 materialize 这一过程, 二者在绝大多数语境下相同.

但其实我完全不知道对不对...

7735 次点击
所在节点    Python
27 条回复
JerryCha
2020-01-28 22:49:41 +08:00
instance -> example
object -> matter
chrischeng021
2020-01-28 23:06:54 +08:00
object 是一个概念层的定义吧,而 instance 是一个客观存在的实体

就 人 这个 object 的#生物学#定义 可能就是 真核总界 动物界 后生动物亚界 后口动物总门 脊索动物门 脊椎动物亚门 羊膜总纲 哺乳纲 真兽亚纲 灵长目 类人猿亚目 狭鼻猴次目 类人猿超科 人科 人亚科 人族 人属 智人种

然后对于这个 object 的一个实例对象,就是你我他
IvanLi127
2020-01-29 01:28:30 +08:00
对象就是类的实例化,instance 就是 object。单例模式下你的这个实例不就是一个大家一起用的对象嘛?
LDa
2020-01-29 02:57:06 +08:00
object 还是属于定义和概念阶段吧?实例化之后他成了一个具体的事物,称为 instance ?我的个人理解
wanguorui123
2020-01-29 12:29:22 +08:00
object 是定义,instance 是通过定义创造的一个具体事物
wanguorui123
2020-01-29 12:29:59 +08:00
object -> 人,instance -> 小明
yjxjn
2020-01-29 16:37:12 +08:00
对象是一种抽象的概念,而实例代表把这种抽象具体化,也就是说最简单的,人都有头,耳朵,身体会说话这几种特征等等,但是实例化,就代表是小明,小红,小白等等。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/640578

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX