RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏
C++从零开始(十二)——何谓面向对象编程思想
  • 作者:xiaoxiao
  • 发表时间:2020-12-23 10:37
  • 来源:未知

C++从零开始(十二)

——何谓面向对象编程思想

    前面已经说明了C++中最重要的概念——类,并且介绍了大部分和类相关的知识,至此,已经可以开始做些编程方面比较高级的应用——设计程序,而不再只是将算法变成代码。要说明如何设计程序,有必要先了解何谓编程思想。

编程思想

    编程,即编写程序,而之前已经说过,程序就是方法的描述,那么编程就是编写方法的描述。我知道如何到人民公园,然后我就编写了到人民公园的方法的描述——从市中心开始向东走400米再向右转走200米就是。接着另一个人也知道如何去,但他编的程序却是——从市中心沿人民东路走过两个交叉口,在第三个交叉口处右转,直走就能在右手方看到。很明显,两个程序不同,但最后走的路线是相同的,即大家的方法相同,但描述不同。    所谓的编程思想,就是如何编程,即编写程序的方法。那么之前在《C++从零开始(八)》中说的编程的三个步骤其实就是一种编程思想。这也是为什么不同的人对同一算法编写出的程序不同(指程序逻辑,不是简单的变量或函数名不同),不同的人的编程思想不同。    如果多编或多看一些程序,就会发现编程思想是很重要的。好的编程思想编出的程序条理分明,可维护性高;差的编程思想编出的程序晦涩难懂,可维护性低。注意,这里是从程序的易读性来比较的,实际出于效率,是会使用不符合人脑思维习惯的编程思想,进而导致代码的难于维护,但为了效率还是会经常在程序的瓶颈位置使用被优化了的代码(这种代码一般使用汇编语言编写,算法则很大程度上是数学上的优化,丢弃了大部分其在人类世界中的意义)。    本系列一直坚持并推荐这么一个编程思想——一切均按照语义来编写。而语义是语言的意义,之前说它是代码在人类世界中的意义。比如桌子,映射成一个结构,有桌脚数、颜色等成员变量,那么为什么没有质量、材料、价格、生产日期等成员?对此有必要说明一下“人类世界”的含义。

世界

    我们生活在一个四维的客观物理世界中,游戏中的怪物生活在游戏定义的游戏世界中,白雪公主生活在一个童话世界中。什么叫世界?