对象与实例的区别

Written on August 18, 2008 – 10:31 am | by 陈炬 | 177 views

在网上随便逛,看到一个有趣的讨论:对象与实例的区别。作者是这样认为的:

表现出来是这样的
String 类
String str str是对象
String str = “abc”; “abc”是实例,也是对象.
这样也能解释instance of object这种说法 str的实例是”abc”

文章是在Java的背景下讨论的,我觉得这样的理解是不对的。说他不对,是因为这样的理解违反常识。”对象”,”实例”这两个词在Java中并没有非常严格,细致的定义。因此,应当从常识的角度去理解他们。

我的理解是这样的:对象是某个东西的实例。这句话简化一下,就是对象是实例。任何一个对象,它必定是某个东西的实例。而”某个东西”,我们在Java语言中,可以认为它是类(Class),而在其他地方,比如Semantic Web的一些规范中,如RDF我们可以将其认为是一个概念。在RDF中,概念的一个实例依然是一个概念。

在Java语言的前提下,我觉得对象实例所指向的东西是没有分别的。

而在更宽广的条件下(比如,机器学习中的一些概念),那就不一定了。实例这个词表达了一种特化的过程。而对象,只是简单的是这种特化的产物。比如这样的一个概念特化过程:Thing->Animal->Human->Chinese->Chen Ju,我们可以看到Animal是Thing的一个实例,它是一个对象。同时Human是Animal的一个实例,它也是一个对象。也就是说,一个对象可以是另外一个对象的实例。

Rating: 2.9/5 (27 votes cast)

推荐购买的书籍--都是牛书

我来说下

关于

我叫陈炬,正在天津大学计算机学院->知识工程与科学研究所攻读硕士研究生。今年应届。您可以在我的自我介绍获得更多关于我的信息

订阅我的Blog


本站RSS地址| [这是什么?]
订阅到Google Reader | 订阅到 抓虾 阅读器 | 订阅到 鲜果 阅读器

其他blog

我还有一个英文blog,非常的无聊,琐碎,许多的语法错误。请谨慎访问。
Find entries :