程序设计方法发展历程
——面程结构化程序设计方法
l 设计思路
– 顶逐步求精采模块分解功抽象顶分治
l 程序结构:
– 功划分干基模块形成树状结构
– 模块间关系简单功相独立模块部均序选择循环三种基结构组成
– 模块化实现具体方法子程序
l 优点:
效较复杂程序系统设计务分解成许易控制处理子务便开发维护
l 缺点:重性差数安全性差难开发型软件图形界面应软件
– 数处理数程分离相互独立实体
– 数结构改变时相关处理程进行相应修改
– 种相老问题新方法带额外开销
– 图形户界面应程序难程描述实现开发维护困难
程序设计方法发展历程
——面象方法
l 数数操作方法封装起作相互存分离整体——象
l 类型象抽象出性形成类
l 类通简单外部接口外界发生关系
l 象象间通消息进行通信
l 优点:
– 程序模块间关系更简单程序模块独立性数安全性良保障
– 通继承态性提高程序重性软件开发维护更方便
面象基概念
——象
l 般意义象:
– 现实世界中实际存事物
– 形(辆汽车)形(项计划)
– 构成世界独立单位具
l 静态特征:某种数描述
l 动态特征:象表现行具功
l 面象方法中象:
l 系统中描述客观事物实体构成系统基单位象组属性组行构成
l 属性:描述象静态特征数项
l 行:描述象动态特征操作序列
l
面象基概念
——类
l 分类——类通常思维方法
l 分类原——抽象
– 忽略事物非质特征注意前目标关质特征找出事物性具性质事物划分类出抽象概念
– 例石头树木汽车房屋等长期生产生活实践中抽象出概念
l 面象方法中类
– 具相属性服务组象集合
– 属该类全部象提供抽象描述包括属性行两部分
– 类象关系:
犹模具铸件间关系属某类象称该类实例
面象基概念
——封装
l 象属性服务结合成独立系统单元
l 隐蔽象部细节外形成边界(者说道屏障)保留限外接口外部发生联系
面象基概念
——封装
l 象属性服务结合成独立系统单元
l 隐蔽象部细节外形成边界(者说道屏障)保留限外接口外部发生联系
l 继承软件复着重意义面象技术够提高软件开发效率重原
l 定义:特殊类象拥般类全部属性服务称作特殊类般类继承
l 例:轮船作般类客轮便特殊类
面象基概念
——态性
l 态指般类中定义属性行特殊类继承具数类型表现出行属性行般类特殊类中具语义
面象软件工程
l 面象软件工程面象方法软件工程领域全面应包括
– 面象分析(OOA)
– 面象设计(OOD)
– 面象编程(OOP)
– 面象测试(OOT)
– 面象软件维护(OOSM)
总结:
面程程序设计:数结构 + 算法
解决科学计算问题户需求简单固定
特点:
分析解决问题需步骤
利函数实现步骤
次调函数解决问题
问题:
软件重性差
软件维护性差
构建软件法满足户需求
面象程序设计:现实世界建立软件模型
现实世界中事物直接映射程序中直接满足户需求
特点:
直接分析户需求中涉实体
代码中描述现实世界中实体
代码中关联实体协工作解决问题
优势:
构建软件够适应户需求断变化
直接利面程方法优势避开劣势
2 C语言C++语言关系
C语言实践程中逐步完善起
没深思熟虑设计程
时存灰色带 i++i++i++
残留量低级语言特征
直接利指针进行存操作
C语言目标高效
终程序执行效率高效
面程方法暴露越越缺陷时候业界开始考虑工程项目中引入面象设计方法第需解决问题:高效面象语言够兼容已存代码
C语言 + 面象方法Objective C C++
C语言C++立竞争关系
C++C语言加强种更C语言
C++C语言基础完全兼容C语言特性
学C++会影响原C语言知识相反会根加深C认知
学C++接触更软件设计方法带更机会
1) C++种更强C通学C++够掌握更软件设计方法
2) C++JavaC#D等现代开发语言基础学C++够快速掌握语言
3)C++知名软件企业挑选标准
送路程序员
开发团队言短期开发出户满意软件系统核心竞争力体现
开发者言够胜系统中意模块开发核心价值体现
架构师言掌握种语言优势合理运系统中简化系统开发架构生涯第步
程序员固步封接触新行业新技术领域暂新突破
3C++C加强
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档