2、形而上学
当我写下这个标题的时候,内心无比惶恐。这么大个题目,是我这个半路出家,Google成才的家伙能够谈论的吗?多少哲学家一辈子“皓首穷经”,也不过就是研究个形而上学啊。
当初,维特根斯坦去找罗素,问到:“你看我是不是一个十足的白痴?”罗素不知他为什么这样问,维特根斯坦说:“如果我是,我就去当一个飞艇驾驶员,但如果我不是,我将成为一个哲学家”。可见哲学这东西,只有真正的天才才有能力去研究它。
还好,我并不是要研究形而上学,我只是要研究面向对象背后的形而上学哲学基础。
我也不是要证实这个哲学基础的正确性与适用性。我只需要证明“面向对象背后的那个形而上学基础是不正确的、是不适用于软件开发的。”
面向对象的两大核心概念是:“对象”与“类”。“一切皆是对象”是由朴素原子论而来的。“万物皆有类属”就是由亚里斯多德的形而上学来的。
对于亚里斯多德的形而上学理论不熟悉的朋友,可以即时补课,中国人民大学哲学系的《西方哲学史》有好几节专门讲这个方面:《亚里斯多德的实体论I》、《亚里斯多德的实体论III》。还有就是到Google上去专门搜一下亚里斯多德的逻辑学说,看完以后,咱们回来接着说。
咱们用自己的话说一下:“种”、“属”、“属差”以及“定义”这几个概念。
种:是一个大的概念,假设已经预先定义好了的。
属:所有属于某一种的概念,都是那一种下面的属。
属差:同属一种的、同一级别的属之间的差别,或者说个性。
定义:通过种加属差,可以定义一个属的概念。
举例说明:人是二足直立动物。人是一个需要被定义的属,动物是人之所属的种,二足直立是人作为动物的共性之外,拥有的个性,也就是属差。
懂得初步的面向对象编程的同志们,你们都看出来了吧,大多数OO语言也是这么定义类的。你定义一个Animal,再用Person去继承Animal。在Animal里有一些属性与方法,在Person里再加一些人所特有的。很多很多的面向对象的教科书里,甚至就是直接用这个定义来举的例子。
问题出在哪里?或者有人会问:“这样有什么不对吗?”
我们可以通过“种+属差”来定义一个新的属吗?定义成立的前提是什么?先要有种的定义。然后才可能有属的定义。种的定义又是哪里来的呢?在一个种的概念之上,必然存在一个更普遍的种,一个更大的范畴。在亚里斯多德来说,在所有的种之上的种是“存在”,而存在是无法被定义的。而在面向对象的哲学里,即使是这一个最基本的哲学困境也被忽略了,无法被定义的概念,被代换为无需由程序员定义的概念(Object)。属差的区别在哲学家看来,是本质的,是基于深刻认识才能提出的。而在面向对象的哲学里,种的共性就是基类所定义的“属性与方法”,而属的个性,就是对于基类的扩展。“种+属差”变成了“公用代码+扩展代码”。
当概念定义这样一个“问题域的描述手段”,演变成“减少重复代码原则”之后。Class继承的概念就越发的模糊不清了。我们来总结一下:
1、面向对象原本声称的描述真实世界的目标,采用的工具却是朴素的“种加属差”的方式。
2、面向对象分析中,发现具体的对象还算是容易的,发现“种”的概念却是困难的。
3、在实际应用中,种概念的发现与定义,被偷换为公共代码的抽取。
4、由于基类的定义的随意性,导致子类不但可以扩展基类的行为与特性,还可以覆盖(改变)基类的行为与特性。
5、由于哲学概念的与开发概念的混淆,使得在OO领域IS-A、Has-A、Like-A成为最为绕人的概念。
(哲学讨论到此结束,未完待续)
分享到:
相关推荐
20210509-信达证券-化工行业:敲响轮胎消费时代的钟声!.pdf
化工行业:敲响轮胎消费时代的钟声!.pdf
化工行业:敲响轮胎消费时代的钟声!(30页).pdf
化工行业:敲响轮胎消费时代的钟声!(2021)(30页).pdf
Window操作系统的诞生成就了微软帝国,同时也造就了PC时代的繁荣,然而如今,以Android和iPhone手机为代表的智能移动设备的发明与互联网云技术的兴起却敲响了PC时代的丧钟!这也预示着移动互联网时代(3G)已经来临。 ...
图片购物搜索淘淘搜:敲响美丽说们的丧钟?.docx
Android 应用开发揭秘 ...以Andorid和iphone手机为代表的智能移动设备的发明却敲响了PC时代的丧钟!移动互联网时代(3G 4G)已经来临,谁会成为这些移动设备的主宰?毫无疑问,它就是Android--PC时代的Windows!
的智能移动设备的发明却敲响了PC时代的丧钟!移动互联网时代(3G时代)已经来临,谁会成为这些移动设备上的主 宰?毫无疑问,它就是Android——PC时代的Windows! 移动互联网还是一个新生的婴儿,各种移动设备上...
然而,以android和iphone手机为代表的智能移动设备的发明却敲响了pc时代的丧钟!移动互联网时代(3g时代)已经来临,谁会成为这些移动设备上的主宰?毫无疑问,它就是android——pc时代的windows! 移动互联网还是...
敲响希望的警钟-读《小学生时代》有感1200字_小学生读后感精选.doc
电子行业深度报告:5G对电子板块的影响研究(二):PCB设备已经敲响的5G投资时钟.pdf
"地球——我们的家园 教案(教学设计)" 本教案旨在帮助六年级学生初步养成珍惜地球资源、保护地球环境的行为与习惯,了解地球是目前已知的惟一有生命存在的、适宜人类生存和发展的星球。通过教学,学生能初步归纳...
航运网络安全敲响警钟.pdf
勒索病毒敲响网络安全警钟.pdf
敲响食品安全警钟作文例文.pdf
“断网”敲响网络安全警钟.pdf
小学数学数学故事思维乐趣钟铃敲响
电动汽车给石油公司敲响警钟.pdf
梅州污水事件敲响PCB行业警钟.pdf
敲响防火警钟的五大措施方案.docx