面向过程:
数据与程序分离
结构化程序设计:程序=算法+数据结构
基本思想:自上而下,逐步细化的设计方法和单入单出的控制结构。其理念就是将大型程序分解成小型,便于管理的任务。
结构化程序设计示意图:
缺点:
(1)程序难以管理
(2)数据修改存在问题 全局变量比较多,修改一个地方就会引起很多地方的变化
(3)程序可重用性差
以算法为中心,而不是以数据为中心
缺点的根源就是数据与程序相分离
举例说明:以吃饭为例
面向过程:准备菜(买菜,洗菜,切菜)+烧菜+吃饭 分成小的模块,逐步细分
需要一个软件负责人,要了解整个系统的任务分解,当问题复杂度超过个人能理清各个子系统之间的调用关系时,这种设计就会失效
面向对象:
程序=对象+对象+对象+....+对象+消息
对象=算法+数据
以对象为中心
数据是和每个类联系在一起的,一个类没有权限修改其他类的数据,
三个特征:封装,继承,多态