电脑知识
少儿编程抽象思维教学(编程中的抽象是什么意思)
2023-04-12 09:37

理论比较抽象,平台出来了,一起试用一下就全明白了。面向对象和面向过程,其实是对客观世界的名词和动词谁是主体的映射,面向函数很难形成个独立的思维方式,不符合人类认知世界的方式,所以学起来用起来都难。别研究了,死路一条。 #程序# #程序员# #编程#//@何宁社:

博士聊IT

面向对象理论有点缺陷,现在架构师和程序员已经彻底不会用了。面向对象理论中一个关键问题没处理好,现在搞成了四不像。这就是面向对象中类与类的关系如何处理。 程序员都知道,面向对象包括分类、属性和方法,通过这些概念的定义把客观世界中的事物映射到计算机中,并且保持各个事物相对的独立性,从而获得程序架构上的简洁优雅。面向对象中的分类、属性和方法都是具有非常深刻哲学意义的理论归纳,其哲学基础从古代的亚里士多德开始,一直可以追溯到近代的维特根斯坦。 可以说,要构建一个庞大或者复杂的事物,无论是从哲学,科学,技术,工程,哪个角度看都必须要抽丝剥茧,利用本体的思想把事物定义清楚,梳理出事物独特的属性和动作,同时还要把事物的定义和实例分开。在这一点上面向对象,实际上是对软件工程甚至其他的工程类别都做出了巨大的贡献,在今天软件定义硬件,软件定义世界的背景下,更具有特殊、重要的意义。 面向对象理论,最早是Alan kay系统提出的,他本科学的是生物,从最早的面向对象语言smalltalk一直到现在少儿编程的scratch,老爷子把自己硬生生的活成了乔布斯和贝索斯的偶像。 面向对象本质 https://m.toutiao.com/is/kYWPbPb/ Alankay在研究生物的时候,认为每一个细胞都应该是一个独立的对象实例。那么怎么解决两个细胞之间的关联关系的问题呢?他从生物学的角度来讲一个细胞,要影响另一个细胞势必要给另一个细胞发送某种化学物质或者电信号作为信息的载体,另外一个细胞通过接受这些物质或者是电信号,就完成了对这种影响的关系构建。 说通俗点就是通过发送message来表示这种关系。对象之间的关系是动词,后来像是Java语言又引入了接口,但这种关系的表达方法不够直接,所以在其他的后续的领域中,大家并没有广泛的使用这种表达关系的方法。 众所周知,在数据库中也有关系,甚至我们把数据库都起名叫做关系数据库。在数据库的体系中,我们把关系做成二维表,把分类也做成二维表,codd博士通过表间的矩阵关系运算,来实现对象关系之间的计算和表达。关系的数学基础,被变成了矩阵表达方式的线性代数。 在知识图谱中,我们把这种关系独立出来叫做relationship,通过图的方式,计算一个节点与其他节点之间的连通路径,从而计算出关系。这个叫做图数据库,关系的数学基础被变成了拓扑学中的图论。 面向对象的方法非常优秀,但是需要把事物之间的关系这一块重新构建清楚。因为对于一个系统描述来说,最最根本的要素只有两个:组成这个系统的元素,这些元素之间的关系。 不同的科学和数学理论基础造就了不同的关系处理体系和机制,你觉得这里哪种关系描述方法最科学最有前途? #Java# #程序# #程序员#

发表评论
0评