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
- 1.1.2 一切皆概念/类型
- 博客一切皆为个人临时笔记,不保证概念正确和行文规范
- 第2章:一切皆对象
- 第2章 一切皆数
- 鸭子类型:一切是为了复用
- 一切的一切皆因你是个妹纸
- 世间一切皆学问
- 一切皆艺术
- 创业,一切皆有可能
- 一切皆为对象
- 一切皆有可能
- 也许一切皆有可能
- 一切皆有可能!
- 一切皆对象
- 一切皆对象,X
- 一切皆Socket!”
- 一切皆为 JavaScript
- 一切皆为 JavaScript
- Hibernate连接mycat实现多租户
- 轮盘赌法
- android下的linux内核编译
- Microsoft visual Studio 2015 下的俄罗斯方块源程序以及修改过程
- 常量和数据类型
- 1.1.2 一切皆概念/类型
- Wifi Direct 修改群组名称特别注意
- js中的eval 函数作用
- android 开源库
- 二叉树中两个节点的最近公共祖先(leetcode)
- Twitter 工程师谈 JVM 调优
- Java中抽象类和接口的区别
- Linux常用命令大全
- Criteria .一种比hql更面向对象的查询方式(资料整理)