自上而下和自下而上的编程
为什么我们说像C这样的语言是自上而下的,而像Java或C++这样的OOP语言是自下而上的?这种分类在软件开发中有什么重要性吗?
为什么我们说像C这样的语言是自上而下的,而像Java或C++这样的OOP语言是自下而上的?这种分类在软件开发中有什么重要性吗?
“自上而下”的方法对问题进行高级定义,并将其细分为子问题,然后以递归方式执行,直到您归结为明显且易于编码的部分。这通常与编程的“函数分解”风格相关联,但不一定是。
在“自下而上”的编程中,您可以确定可以组合成更大程序的较低级别的工具。
实际上,几乎所有的编程都是通过多种方法的组合完成的。在面向对象的编程中,您通常通过识别域对象(这是一个自上而下的步骤)并优化它们,然后将这些对象重新组合到最终程序中来细分问题 - 一个自下而上的步骤。
在自上而下的开发中,你从你的主函数开始,然后想想你需要采取的主要步骤,然后你把每个步骤分解成它们的子部分,依此类推。
在自下而上的编程中,您会想到基本功能和所需的部分,并构建它们。你开发演员和他们的方法,然后把他们联系在一起,形成一个连贯的整体。
当您开发对象时,OOP自然倾向于自下而上,而过程式编程则倾向于自上而下,因为您从一个函数开始并慢慢添加到其中。