首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【C++】面向对象编程引入 ③ ( 面向过程编程的结构化程序设计方法 | 结构化程序设计方法概念 / 特点 / 优缺点 | 面向对象编程引入 )

【C++】面向对象编程引入 ③ ( 面向过程编程的结构化程序设计方法 | 结构化程序设计方法概念 / 特点 / 优缺点 | 面向对象编程引入 )

作者头像
韩曙亮
发布2023-10-15 16:20:36
发布2023-10-15 16:20:36
5190
举报

一、面向过程编程的结构化程序设计方法

如果使用 面向过程语言 ( 如 : C 语言 ) , 开发 大型 项目 , 一般使用 结构化程序设计方法 ;

1、结构化程序设计方法概念

结构化程序设计方法 的 设计思路如下 :

  • 自顶向下 , 分而治之 ;
  • 分解功能 , 每个功能都抽象出一个功能模块 ;

如下图所示 , 结构化程序设计方法 , 就是 将一个大问题 , 分解成很多小问题 , 每个小问题都使用独立的 子模块 解决 , 多个 子模块 共同构成一个 大的软件系统 ;

2、结构化程序设计方法特点

使用上述思路 设计出的 程序结构 有如下特点 :

  • 是一个 树状结构 , 每个叶子节点都是一个基本功能模块 ;
  • 模块之间 功能独立 , 每个模块都相当于一个子程序 , 调用模块就是调用该子程序即可 ;
  • 模块内部只有 顺序 , 选择 , 循环 代码逻辑 ;

3、结构化程序设计方法优缺点

结构化程序设计 的 优点 就是可以 将 复杂庞大的系统 , 拆分成若干子任务 , 方便开发 , 控制 , 维护 ;

结构化程序设计 也有 很多缺点 :

  • 可重用性差 : 每个模块子程序 的 代码 基本不可重用 ;
  • 数据安全性差 : 没有 数据安全 , 开发者可以随意访问任意功能的任意变量 ;
  • 不适合开发图形界面 : 图形界面的事物 使用 过程语言 进行 描述 并 实现 很难 , 即使开发出来也不容易维护 ; 因此很多 C 语言的程序都是命令行程序 , 如 : ffmpeg 等 ;
  • 数据和处理过程分离 : 模块中 数据 ( 变量 ) 和 处理过程 ( 方法 ) 定义在不同的地方 , 给代码维护带来很多麻烦 ;
  • 可维护性差 : 一旦 数据结构发生改变 , 需要 修改大量的代码 ;

二、面向对象编程引入

鉴于 面向过程编程 有上述缺点 , 这里引入 面向对象编程 思想 ;

针对 " 数据和处理过程分离 " 问题 , 面向对象 可以 将 事物的 数据 以及 对数据的处理过程 , 都定义在一个类中 , 将它们封装在一起 ;

针对 " 可重用性差 " 问题 , 面向对象 中 , 对 相同类型的 事物 , 抽象出其共有特点 , 形成一个类 , 该类可以重复使用 , 并可以创建多个该类型事物 ;

针对 " 不适合开发图形界面 " 问题 , 面向过程 中 抽象实现 界面元素很麻烦 , 但是如果使用面向对象 , 可以直接将界面抽象成一个类 , 界面中的按钮等元素也可以抽象成一个类 , 将这些类对象组合在一起 , 就是一个图形界面程序 ;

针对 " 数据安全性差 " 问题 , 面向对象中 , 封装数据和方法时 , 会为每个成员指定可访问的范围 , 如 public , protected , private 等访问范围 , 外部无法访问 private 成员 ;

引入面向对象后 , 极大地提高了 程序的 可维护性 ;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、面向过程编程的结构化程序设计方法
    • 1、结构化程序设计方法概念
    • 2、结构化程序设计方法特点
    • 3、结构化程序设计方法优缺点
  • 二、面向对象编程引入
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档