类对象接口的哲学思考

1 类对象接口的哲学思考

在程序领域中,类是的英文词class的中文译法,抽象类是英文词abstract class的中文译法,对象是英文词Object的中文译法,接口是英文词abstract class的中文译法。

1.1 对字词的望文生义

我们先对类、抽象类、对象、接口这四个词先望文生义,其在“在线新华字典”中的解释如下:

类作为汉字在“在线新华字典”上的解释是(1)很多相似事物的综合,比如种类、类群、人类;(2)相似,好像,比如类同、类似。,前面关于类解释完全是按中文类的含义来解释。

抽象类是对程序领域的英文词abstract class的中文译法。抽象类作为汉字的词汇在“在线新华字典”是没有解释的,并且对于抽象的解释也是放在“具体与抽象”这个组合词汇中做出的解释。其解释如下:“具体指客观存在着的或在认识中反映出来的事物的整体,是具有多方面属性、特点、关系的统一。抽象指从具体事物中被抽取出来的相对独立的各个方面、属性、关系等。两者在人的认识中互相联系和转化。认识从低级的感性的具体认识开始,经分析形成概念、判断的抽象认识,又经综合再现具有多方面属性、特点、关系的统一整体,形成高级的理性的具体认识。”。

对象作为汉字的词汇在“在线新华字典”上的解释是(1)行动或思考时作为目标的人或事物,比如研究对象;(2)特指恋爱的对方,比如找对象。

接口作为汉字词汇在“在线新华字典”上的解释是计算机中央处理机与外部设备之间的连接部分。泛指两个计算机系统或两种部件之间的连接设备。不同的设备要求不同功能的接口。其中接的解释是连成一体,比如接合;而口的解释是容器通外面的地方,如瓶口;出入通过的地方,比如门口。

上述对类、抽象类、对象、接口的汉字语义的表述与在程序领域中对其的解释尽管有些部分有相同,但整体上给人感觉是差距很大。

1.2 程序领域中的解释

那么在程序领域中对于这四个字词的解释如下:

类表示了对象的类别,是创建对象的蓝本。建立一个事物的抽象模型,本质上就是表达该事物的性质和行为。使用类来建立抽象模型,是通过在类中定义变量和方法来实现的。类中定义的变量和方法被称为类的成员。类就是一种类型的对象的表示形式,类也具有它自己的属性、方法。在处理复杂事物的时候,用到的一种基本手段就是抽象。抽象的目的就是区别事物之间的本质和不同,面向对象编程(OOP)的实质就是利用类和对象来建立抽象模型。类中定义的属性是一种可存储值的变量,该变量代表着事物的具体性质。类的对象所具有的行是由定义的方法来实现的。

抽象类是一个类,它由一些抽象的方法和属性组成。所谓抽象的方法就是一些只定义了方法的基本信息(如方法名,返回类型,参数信息),而没有具体实现的代码的方法。当然,上面的是一般情况,如果你非想要在某个方法内添几行实现代码,那也并非不可以,不过添了代码的方法就不是抽象方法了。由于抽象类中一般都不给予方法的实现,所以实例化也就没有任何意义,因此,抽象类被限制为不可以进行实例化。

对象是类的实例。对象在构造时以类为蓝本,创建对象的过程叫做实例化。对象是类所表示的抽象事物的具体实例。如果说类是一个抽象概念,那么对象就是具体对象。比如我们说‘人’就是一个抽象概念,但是具体到某个人,比如你,我,他,就是一个‘人’对象。一个对象可被认为是一个把数据(属性)和程序(方法)封装在一起的实体,这个程序产生该对象的动作或对它接受到的外界信号的反应。

接口是一些严格限制的方法的集合。这些方法只包括一些特征:方法名,参数的数目和种类,且这些方法只能是抽象的和公开的。也就是说接口中的方法不仅没有具体实现的代码,连返回类型都没有了。并且这些规定是严格的,说不能有,就是不能有(返回类型可以有),不向抽象类那么好说话。接口的规定这么严格,自然也是没法实例化的,其实和抽象类一样,接口实例化了比抽象类还没意义。

1.3 对类相关词汇的思考

类是一种类型,是一种区别于基本类型(int、char、float等)的复合类型。类是物质形式定义的容器。

1.3.1 类与物质是概念统一的

类与哲学中物质词是统一的。物质指在人们的意识之外独立存在又能为人的意识所反映的客观实在。世界上的一切事物有着无限多样的形态,无穷的变化发展,但归根结底都是客观实在的外在表现,都是物质的外在表现。

(1) 物质是有属性的物质。物质的属性具有质和量两个属性。质是指物质的性质,而不是质量;量是指衡量物质处在的某种状态的数量。从量变到质变,就是说物质总是处在不断的变化之中。而在每次由一种性质变化到另一种性质的过程中,总是由微小的变化(称作量变)慢慢积累,微小的变化的积累最终导致物质由一个性质变化到另一个性质。

(2) 物质是运动的物质。物质是运动的承担者,是一切运动和发展的实在基础;运动是物质所固有的根本属性,是一切物质形态的存在方式。 物质和运动是不可分割的。一方面,物质是运动的物质,没有不运动的物质。运动是物质所固有的根本属性和一切物质形态的存在方式。设想有不运动的物质是形而上学唯物主义的特征。另一方面,运动是物质的运动,没有无物质的运动。

(3) 物质是空间的物质。空间的定义:“能够包容所有物理实体和物理现象的场所”,可视为空间的物理定义。谈到空间就离不开物质,人们认识空间是通过物质而得以实现的。无论何种物质都会以某种形态出现在空间里,物质是占据一定空间的存在。虽然都是存在,但空间的存在与物质的存在是有根本区别的。物质不管以什么形态存在(如小到基本粒子,大到天体;无论是质还是能)都是有边界的,而空间的存在是无界的。

(4) 物质是能量的物质。物质为构成宇宙万物的实物、场等客观事物;是能量的一种聚集形式。物质是标志客观实在的哲学范畴,物质唯一属性就是客观实在性。物质具有相同的属性(共性)即时间、空间及数量属性。从而,能够被人的意识所感觉、感知或者说所复写、摄影、反映。物质是世界的内容和组成部分之一,是各种事物共同具有的客观实在性规定,是人通过大脑的思维,从各种事物中发现和抽取出来的绝对抽象事物。同时,它又是具体事物,物质即实物性物质和能量性物质都统一于基本物质,即能量子[参独创性见解]。能量子及其高级形态,都具有质量和能量,即具有时、空、场的规定性和场、力(能)数量规定性。

类的定义是建立一个事物的抽象模型,本质上就是表达该事物的性质和行为。我们可以看出类是用来表达有属性和行为的事物的。这与物质是有属性的物质、物质是有空间的物质、物质是有运动的物质是吻合的。我们可以说类是哲学领域中的物质在信息世界中的投射,这种投射是相对完全的,只是在名称上改为了类。

1.3.2 抽象类与一般事物概念是统一的

世界是无数个别具体事物组成的统一体,个别具体事物是世界的内容和组成部分;个别具体事物是许多规定、性能、关系组成的统一体,各种规定、性能和关系是个别具体事物的内容和组成部分;物质是个别具体事物及其各种规定、性能、关系共同具有的客观实在性规定,是个别具体事物及其各种规定、性能、关系共同具有的内容和组成部分,所以说物质是世界的内容和组成部分之一。世界及其各种事物都是物质的存在和表现形式。

物质是个别具体事物及其各种规定、性能、关系的内容和组成部分,个别具体事物及其各种规定、性能、关系都具有客观实在性的规定,都包含着物质,物质只有依附于个别具体事物上,依附于各种规定、性能、关系上才能够存在和表现出来,所以说个别具体事物及其各种规定、性能、关系是物质的存在和表现形式。   

个别具体事物是世界的内容和组成部分,世界包含着无数个别具体事物,个别具体事物只有依附于世界的身体上,作为世界大集体中的个体才能存在和表现给我们来认识,所以说世界是个别具体事物的存在和表现形式。   

按照生活中的语言习惯,人们把自己手中拿着的个别具体苹果既可以称作苹果,也可以称作水果、食物,物、物质。这是因为个别事物中包含着一般事物,个性规定中包含着共性规定。物质、物、食物、水果、苹果是我手拿着的具体苹果分别具有的一般内容和组成部分,我手拿着的个别具体苹果不仅是一般苹果的存在和表现形式,而且还是抽象程度更高的水果、食物、物、物质的存在和表现形式。   

用外延宽泛的概念对个别事物进行表述虽然有一定的道理,经常被大家采用,但是缺乏科学和严谨的性质,常常会引起争论。白马是不是马在中国引起过长期的争论。苹果是物质、世界是物质这种说法虽然有一定道理,但也会引起大家的争论。   

用科学严谨的语言表述我手里拿着的苹果,表述世界及其各种事物:我手里拿着的苹果是具体的水果、是具体的食物、是具体的物、是具体的物质。世界及其各种事物是物质的存在和表现形式,是具体存在和表现形式的物质。

抽象类是一个类,它由一些抽象的方法和属性组成。所谓抽象的方法就是一些只定义了方法的基本信息(如方法名,返回类型,参数信息),而没有具体实现的代码的方法。从抽象类的定义,我们可以看出抽象类就是一般具体事物的概念是统一的,它是个别具体事物共性的抽象。

1.3.3 对象与绝对具体事物概念统一的

什么是具体事物?具体事物是同抽象事物既相互对立又相互统一的认识对象,是个别具体事物和一般具体事物、绝对具体事物和相对具体事物组成的,具有客观实在性规定的对立统一体。   

具体事物有两种存在和表现形式:一种是个别具体事物,我称它为绝对具体事物;另一种是一般具体事物我称它为相对具体事物。   

个别具体事物或绝对具体事物是可以被人通过感觉器官感觉到的具体事情和具体物体。个别具体事物或绝对具体事物普遍具有客观实在性的规定。   

个别具体事物或绝对具体事物普遍具有现实和客观的形态,这种客观和现实的形态能够被人的眼睛看到,被人的手和身体接触到,被人的鼻子嗅到,被人的舌头尝到,被人的耳朵听到,能在人的大脑中形成关于个别具体事物或绝对具体事物的综合映像。   

一般具体事物和相对具体事物是不能被人通过感觉器官感觉到的具体事情和具体物体。一般具体事物或相对具体事物也普遍具有客观实在性的规定。   一般具体事物或相对具体事物不具有现实和客观的形态,它虽然不能被人感到,但是可以被人通过比较个两个以上的个别具体事物或绝对具体事物而知道。人们通过对两个以上的个别具体事物进行的比较,既可以发现它们分别具有的不同规定和内容,也可以发现它们具有的共同规定和内容,然后把它们共同具有的规定和内容在思维中抽取出来并加以冠名,从而形成和产生了虚拟或观念形态的一般具体事物和相对具体事物。   

具有唯一指称作用的专用名词所表述的认识对象就是个别具体事物或绝对具体事物。普通名词所表述的认识对象就是一般具体事物或相对具体事物。   物质不仅是专用名词所表述的个别具体事物或绝对具体事物具有的一般规定,而且还是普通名词所表述的一般具体事物或相对具体事物具有的一般规定。所以说物质是各种具体事物共同具有的客观实在性规定,是各种具体事物的组成部分。   物质不仅存在于个别具体事物或绝对具体事物之中,通过个别具体事物或绝对具体事物展现着自身的美丽,而且还存在于一般具体事物和相对具体事物之中,通过一般具体事物和相对具体事物展现着自身的魅力。因此可以说,具体事物是物质的存在和表现形式。   

每个具体事物都具有特殊性和普遍性的规定,是特殊性和普遍性组成的统一体。每一个具体事物都具有区别于其它个别具体事物的自身特点,具有自身唯一性的规定,世界中不存在两个完全相同、没有丝毫差别的具体事物。个别具体事物或绝对具体事物是这样,一般具体事物或相对具体事物也是这样。   

每一个具体事物都具有相同于其它个别具体事物的共同点,具有共性和普遍性的规定,世界中不存在两个完全不同、没有丝毫共同之处的个别具体事物。   每个具体事物总是从属于一定的种、类、属、组,具有一定种、类、属、组成员的共性和普遍性规定。   

个别具体事物是许多规定、性能、关系组成的统一体。个别具体事物或绝对具体事物具有的各种规定、性能、关系具有客观实在性的规定。如果不承认个别具体事物的各种规定、性能、关系具有客观实在性,人为地把个别具体事物具有的各种规定、性能和关系同个别具体事物机械地割裂开来,个别具体事物就不是具有生命、现实生活中的活生生的个别具体事物了。   

个别具体事物或绝对具体事物、一般具体事物和相对具体事物是多种规定的综和,是多样性的统一,是处在一定外部联系和一定运动过程之中的认识对象。个别具体事物具有的各种规定、关系、性能、规律、属性就是具体事物具有的内容和组成部分。   

对象是类的实例。对象在构造时以类为蓝本,创建对象的过程叫做实例化。对象是类所表示的抽象事物的具体实例。如果说类是一个抽象概念,那么对象就是具体对象。比如我们说‘人’就是一个抽象概念,但是具体到某个人,比如你,我,他,就是一个‘人’对象。从对象的定义,我们可以分析出,它与绝对具体事物的中具有唯一指称作用的专用名词所表述的认识对象就是个别具体事物或绝对具体事物的概念是统一的。

1.3.4 接口是与绝对抽象事物概念统一的

什么是抽象事物?抽象事物是同具体事物既相互对立又相互统一的认识对象,是相对抽象事物和绝对抽象事物组成的、具有客观实在性规定的对立统一体。   普通名词、动词、形容词、数量词表述的认识对象都是抽象事物,都具有客观实在性的规定。   

抽象事物是具体事物的思维分解体,我称个别具体事物为元体,所以称抽象事物为元分体。抽象事物或元分体具有不可被人感到但可被人知道的认识特征。   每个抽象事物都具有自身内容的规定和存在范围的限制。根据每个抽象事物内容和存在范围的差别,我把抽象事物分为两种具体的存在和表现形式:相对抽象事物和绝对抽象事物。   

什么是相对抽象事物?相对抽象事物是具体事物的组成部分,是抽象事物的具体存在形式之一,是分别存在于不同个体、不同种类具体事物之中的特殊性规定、规律、性能和本质,也是同一种类具体事物的每个成员具有的种或类的共性和普遍性规定。   

普通名词“人”表述的认识对象就是相对抽象事物。 相对抽象事物和相对具体事物可以是同一个事物。“人”相对于“动物”来说具有更多的内容规定,更接近个别具体事物。“人”相对于“黑人”、“老人”和“女人”来说具有更少的内容规定,离个别具体事物更远、更抽象。因此可以说“人”既是相对具体事物又是相对抽象事物。

绝对抽象事物是具体事物的组成部分,是抽象事物的具体存在形式之一,是每个具体事物和每个相对具体事物都具有的一般规定、规律、性能和本质,是存在于具体事物、相对具体事物或相对抽象事物之中的认识对象。   

绝对抽象事物也被称为一般抽象事物。绝对抽象事物或一般抽象事物来源于具体事物和相对抽象事物,是具体事物和相多抽象事物的组成部分。为了强调绝对抽象事物同具体事物、同相对抽象事物的一体关系,为了强调绝对抽象事物同元体、元实体的一体关系,我称绝对抽象事物为元本体。   

绝对抽象事物或元本体是处在普遍联系之中的,没有任何存在范围限制的认识对象。准确地说,绝对抽象事物或元本体首先是人类已经接触过、经验过、认识过的个别具体事物具有的一般规定、规律、性能、本质,其次它也必定是人类未知的一切个别具体事物具有的共性和普遍性。从这种意义上可以说绝对抽象事物或元本体是世界统一的基础。   

物质是绝对抽象事物具有的客观实在性规定,是绝对抽象事物的内容和组成部分。是人通过大脑的思维,从各种事物中发现和抽取出来的绝对抽象事物。   每个具体事物、每个抽象事物都具有客观实在性的规定和本质,都包含着物质。没有客观实在性的规定、不包含物质的具体事物或抽象事物是不可思议的。

接口是一些严格限制的方法的集合。这些方法只包括一些特征:方法名,参数的数目和种类,且这些方法只能是抽象的和公开的。也就是说接口中的方法不仅没有具体实现的代码,连返回类型都没有了。并且这些规定是严格的,说不能有,就是不能有(返回类型可以有),不向抽象类那么好说话。从接口的定义我们可以看出与绝对抽象事物或一般抽象事物来源于具体事物和相对抽象事物,是具体事物和相多抽象事物的组成部分,为了强调绝对抽象事物同具体事物、同相对抽象事物的一体关系,为了强调绝对抽象事物同元体、元实体的一体关系,我称绝对抽象事物为元本体的概念是一致的,是绝对抽象事物中运动是物质的根本性质是相吻合的。接口是物质的的根本性质的运动这一性质在信息世界中的体现。

2 JAVA中类对象接口的应用和意义

2.1 为什么要使用抽象类

那为什么要引出抽象类这么个东西呢,它能完成哪些类干不了的事呢?举例说明:比如说有个苹果类,它有个吃的方法,代码是洗了就可以吃。那它就可以生成实例,苹果一,苹果二,它们都有个吃的方法,都是洗了就可以吃。再比如说有个香蕉类,它也有个吃的方法,代码是扒了皮再吃。也可以生成实例,香蕉一,二,三,都是扒了皮吃。然后又有个抽象类,叫水果,它也有个吃的方法,但是是空的,因为不同的水果有不同的吃法。

这样我们就可以看出来,水果这个抽象类没法实例化,因为它没法具体到一样东西,而苹果和香蕉就可以继承这个抽象类,并可以实例化成每个苹果,香蕉。

事实上抽象类就是某些类共有的属性和方法的集合,其他类继承这个抽象类,其优点是当需要对这些类的共有属性做修改的时候,只需修改这个抽象类就可以了。

2.2 为什么要用接口

为什么要用抽象类我们知道了,但又为什么要引入接口这个东西呢?它又能为些什么常人所不能为的事呢?事实上,在JAVA中,因为一些原因,只提供了单继承这样一种继承方式,那就带来一个问题,我有个东西,他不只有你这么一个抽象类的特点,还有别的抽象类里的特点,那你又不提供多继承,怎么办?于是在群情激愤中,众望所归的接口就横空出世了。接口解决了多继承的问题,一个类可以实现多个接口,同时也可以实现一个抽象类。同样,干巴说一直不是我的风格,我举个例子。比如说我有个抽象类-人,然后有个类-中国人继承了这个抽象类,但是我现在不只想生成一个中国人类,我想生成个中国的飞人类,但人这个抽象类中并没有飞这个方法,我们又不能再去继承个鸟的抽象类去,所以就去继承了个带飞的方法的接口,于是——超人,诞生了!

2.3 接口和抽象类的区别

关于抽象类和接口的区别,我们根据以上的内容,完全可以推出以下几点:

⑴抽象类是单继承的,接口可以多继承。

⑵抽象类的方法可以是非抽象的,而接口的方法则必须是抽象的。

由以上两点我们又可以推出以下几点:

⑶在继承类中可以不实现抽象类的方法。这里有两种情况,一种是不实现抽象类中的非抽象方法,继承类还是一个普通类;另一种是不实现抽象类中的抽象方法,这时继承类也只能是一个抽象类。而接口的方法在继承类中都是必须实现的。

⑷在抽象类中增加一个方法,继承类中可以不做任何处理;而对于接口来说,则必须在继承类中添加新增加的方法的实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值