分类决定属性,一个分类的属性有两种来源:从爹妈那儿继承的,自己特殊的。当然这个分类也会有孩子继承他的属性。
分类决定方法,道理是一样的。重写是一种继承中的变异,大规模重写分类就乱套了;多态是对方法的封装,以便模糊调用,在实际中,操作分类、属性和继承关系的难度很大。确实作为软件开发人员,在实践中对我们一无所知,这也是很需要业务专家的原因。
算法的本质是什么?是对数据的处理。
语言是人类思维的文字表现。有的人语言条理清晰,有的人杂乱无章,难以一概而论,其中所包含的信息量也不一致。我们从小学就接受语文训练,反复练习每句中心词是什么?段意是什么?中心思想是什么?这种训练就是帮助我们建立起语言所包含语义的逻辑性,才能保证对方能够顺利地接受信息所包含的语义。
我们所训练的这种表达就是一种算法,大家可以试着想象一下你周围的人算法处理能力,有的人啰哩啰嗦说不清楚,有的人词义准确、逻辑清晰、言简意赅、没有废话,这种人对这件事情的算法能力就很强。
如何衡量一段文字所包含的信息量呢?前苏联科学家柯尔莫洛夫提出了信息量度量的新方法:除了基于组合和基于概率方法之外,他提出了基于最短程序长度的信息量度量方法。算法信息论的代表。

柯尔莫洛夫发明了算法信息论
例如我们说:3.1415926..........和说一个pai“”在本质上是一样的。
后面大家有机会可以深入了解熵这个概念,算法就是逆熵操作,算法的效率就是算法逆熵的能力大小。
2、算法=控制 逻辑
英国计算机大师Robert Kowalski
他发明了逻辑编程,他的学生研制了Prolog的编译器。我们把公式代入:

控制就是指程序将按照什么样的流程和顺序进行计算。
顺序有简单的,也有非常复杂的。例如人机交互的流程就比较复杂:

复杂的控制过程
控制就是指程序的计算步骤,先算什么,后算什么,如何跳转,如何回退。
逻辑就是指数据结构按照什么规律如何相互影响。
当翻开欧几里的《几何原本》这本书时,所有人都会立刻产生仰慕感。这本距今2000多年前的书从定义出发,点、线、面逐步推进,明确了本书涉及到的公设,明确了其中的公理(不言自明的道理),然后就将我们初高中所学几何知识几乎一网打尽。

你的几何应该没有2500年前的欧几里得好
是的,我们初中、高中学的几何学就是典型的逻辑。
1879年,德国科学家弗雷格出版了《概念文字》一书,这本书的副标题是”一种模仿算数语言构造的纯思维的形式语言”。弗雷格的语言对于我们来说就很熟悉了,我们在大学数学中用到的很多符号,如存在,任意等符号
,都是源自于这本书。