结构化程序设计的基本思想是“自顶向下”,“逐步细化”的设计方法和单入单出的控制结构,将一个大的程序分解成一个个便于管理的小程序模块,但是所有小的模块还是属于整个程序的,因而整个程序设计思想还是需要有很多的变量的,如果在某个地方对其进行更改,则会产生难以预料的影响,并且如果一个问题过于复杂,结构化程序设计的步骤已经超过一个程序员能理清的各个调用关系的数量时,结构化的自顶向下的设计思想就无法使用。(以算法为中心,即以解决问题的结构为中心)
程序 = 算法 + 数据结构
不易修改,可操作性差,,可重用性差,可适应复杂度低
面向对象程序设计:通过交互作用来完成特定功能的对象的集合,每个对象用自己的方法来管理数据,只有对象自己可以操作自己内部的数据
程序 = 对象 + 对象 + 对象 + 消息
对象 = 算法 + 数据结构
将解决问题的每一个不同的操作所需要的算法和数据封装,使其可自行对内部的算法和数据进行操控,不受外部结构化程序顺序的影响,通过交互作用,来操作对象
可修改性强,可操作性强,可重用性强,可适应复杂度高