1.1.2 一切皆概念/类型

来源:互联网 发布:动易cms 6.8 模板 编辑:程序博客网 时间:2024/06/07 06:42

面向对象编程范式的思考单元,(毕竟,基于类的语言是主流)是概念/类型,而不是实例化的对象。

只有喜欢进程的人、现实的人、生活在内存中的人,才喜欢说面向对象。编写源代码的人/神,喜欢说面向类型

对象(object)是一个具有浓郁的哲学味道的术语,原意是指用一种或多种(人的)感官,尤其指用视觉或触觉可以感觉到的东西、物体或物品。真实世界就是由对象/客体组成的。人们看见这条黄狗、那条哈巴狗,这时,人类发挥其抽象(v.abstract)能力,从一个个的具体对象中提炼出类别/类型性的概念‘狗’或‘Dog’。

概念和对象,谁是第一性的?在真实世界中,亚里士多德(Aristotle)指出其老师柏拉图(Plato)的错误,认为:“事物总是个别存在的”。抽象不能作为单独的存在物,抽象只能通过具体/个别而存在。软件的问题域是真实世界的一部分,在面向对象的分析阶段,完成从问题域的诸多具体中抽象出名词/概念这一过程,这里一切皆对象。不论概念属于现实生活(狗)还是虚幻世界(怪兽),不管概念所表达对象的存在是真实的还是内心中的,都映射为解域/程序中的类。类(class)是问题域中的概念在解域中的映射。

软件的解域正好与真实世界相反,先有类,再从类创建对象。柏拉图的理念论,正好适用于软件的解域,因而在2011年,笔者将该观点构造/捏造成面向对象范式的基石性原理,并在《编程导论(Java)》中加以宣扬。

★柏拉图(Plato)原则:类的世界独立存在,对象世界由类创建而来。

所以,类可以独立存在。Dog.class可以静态地存在于硬盘中,它并不在意世界上(内存中)有没有活动的狗。而程序运行时,Dog.class预先动态地存在于内存中,而后(如果需要)创建本类的对象。

所以,类的静态成员比对象的实例成员更自然;

所以,public static void main(String [ ] args),它无中生有。从该起点开始创建第一个对象。一个对象通过执行其方法能够创建其他的对象。

所以,Java源代码中没有任何对象,一切皆类型、引用变量或引用,唯独没有对象。

将柏拉图法则作为面向对象范式的第一原则,因为它是对象技术的观念范式和心理范式的根源,对象技术是通过颠倒的理念世界而模拟唯物的真实世界。

通过"第一",强调观念范式和心理范式对于面向对象范式的意义。单纯地讲授面向对象的逻辑体系,是不完备的、糟糕的教学方式。


移到垃圾桶中的原博客:

一切皆对象,X

原创粉丝点击