出发点和基本思想软件开发方法和过程尽可能接近.ppt
《出发点和基本思想软件开发方法和过程尽可能接近.ppt》由会员分享,可在线阅读,更多相关《出发点和基本思想软件开发方法和过程尽可能接近.ppt(27页珍藏版)》请在装配图网上搜索。
出发点和基本思想 软件开发方法和过程尽可能接近人类认识世界以及解决问题的方法与过程 这样就会使应用程序的体系结构与计算机解决问题的解空间结构非常接近 从而使程序开发 使用与维护更加平坦 顺畅与迅速 1 什么是面向对象语言面向对象语言继承了面向过程的高级语言的结构化设计 模块化 并行处理等优点 克服了数据与代码分离的缺点 代表了新颖的程序设计思维方法 将研究的任何事物视为对象 用语言中的对象和类直接模拟现实世界的事物 1 2 3面向对象语言 2 发展过程20世纪60年代提出 面向对象 的概念SmalltalkLispObjectPascalC VisualC C Java 一次编写 多次使用 具有跨平台的优势 适合在网络开发中应用 VisualBasic 基于对象的可视化程序设计语言 VisualFoxProDelphiPowerBuilder等20世纪90年代已处于适用阶段 是对传统程序设计方法的变革 对象 Object 是由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体 每个对象就是一个微型程序 有自己的数据 操作 功能和目的 面向对象思想认为 客观世界是由对象组成的 任何事物都是对象 每个对象有自己的动态行为和静态属性 面向对象的软件系统是由相互协作而又彼此独立的对象组成 如 图1 2 3 3 面向对象程序设计的基本概念 面向对象技术以抽象数据类型 模块封装和内部信息隐蔽为主要特征 不把程序看成是工作在数据上的一系列过程和函数的集合 而是把程序看成是相互协作而又彼此独立的对象的集合 99 1班学生成绩表 插入 删除 显示 学号姓名成绩 1王平86 2李红92 R 10 10 6 移动 显示 放大 缩小 图 1 图 2 图 3 一家公司的对象模型 参加 员工 公司 雇用解雇 名字电话号码主要产品地址 姓名地址身份证号工资 为之工作 工人 经理 项目 项目名预算优先级 预算 主持 部门名 部门 产品 产品名 预算 成本 价格 报价 生产 管理 1 1 1 1 0 1 1 DataMethods 对象 面向对象技术具有如下良好特点 1 模块性 2 封装功能 3 继承性 4 易维护性 5 扩充性 类 Class 现实世界中人们习惯于把具有相似特征的事物归为一类 在面向对象的软件技术中 把具有相同数据和相同操作的一组相似对象抽象为类 对象是类的具体实例 例如不同班级的学生成绩表可以抽象为学生成绩表类 实例 Instance 某个特定类所描述的一个具体的对象 属性 Attribute 类中所定义的数据 方法 Method 对象所能执行的操作 消息 Message 对象彼此之间仅能通过消息互相联系 对象内部对数据的处理是通过消息来激发的 C1 Insert 10 王平 98 类的特性 类具有封装性 数据抽象 继承性和多态性 即子类不仅可以继承父类的数据和方法 而且还可以增加新的方法或修改原有的方法 继承 Inheritance 子类能够直接获得父类已有的特性 重载 Overload 子类可对父类中已有的操作重新给出其实现方法 函数 虚函数 重载 运算符重载 多态性 Polymorphism 同一个操作作用于不同的对象上可以有不同的解释 产生不同的执行结果 draw 操作作用在 矩形 对象上 画矩形 作用在 圆 对象上 则画圆 a 先创建一些具体类 b 归纳出抽象类 c 进一步具体化 d 再次归纳 以C语言与C 语言为例 理解软件编程的实质 什么是C 语言 传统程序设计 结构化编程结构化编程是把复杂程序划分成一系列简单部件的技术 例如 设计一个程序 对不同类型的图形求其面积 并打印结果 求图形面积 打印结果 圆的数据结构 矩形的数据结构 全局数据结构中增加新的成员 图形的类型 三角形的数据结构 增加求三角形面积 增加输出三角形面积 全局数据结构的修改导致过程的修改 过程将修改 面向对象技术变革了软件设计的传统方法解决结构化程序设计不足的方法 就是限制数据的存取权限 把数据和使用此数据的过程紧紧封装在一起 定义成基本数据类型或称为类 通用图形类 求面积 打印 圆类 求面积 打印 矩形类 求面积 打印 三角形类 求面积 打印 正方形类 求面积 打印 求周长 通过类的继承扩展软件结构 软件结构在稳定中健壮生长 传统程序设计与面向对象程序设计的比较 基于数据的层次结构 基于过程的层次结构 传统的程序设计 图 14 DataA 子程序1Dataa 子程序2Datab 主程序 子程序1 子程序2 DataA Dataa Datab 对象A 对象B 对象C 对象D 面向对象的程序设计 类的层次结构 图 15 数据操作 对象 include createaclassclasssample inti public voidinitial voiddisplay voidsample display cout i endl voidmain sampleA A initial cout ObjectA i A display 运行结果 ObjectA i 0 voidsample initial i 0 includeclasssample protected inti public voidinitial voiddisplay voidsample initial i 0 voidsample display cout i endl classnewsample publicsample public voidadd i voidmain newsampleA sampleB A initial A add B initial A display Sample 父类 公有函数voidinitial voiddisplay 保护数据i 公有函数voidinitial voiddisplay voidadd 保护数据i newsample 子类 继承父类 继承父类 voidinitial voiddisplay voidadd 面象对象的编程使得为程序增添新的功能变的简单 用户不必修改已有的代码 仅增加新模块所必须的代码即可支持一个新的对象 新模块既可以放在原来的程序文件中 也可以独立存储 自由改变对象的内部而不影响程序的其他部分 增加了程序的模块化 四 面向对象程序设计一 掌握类的基本特性 面向对象程序设计的优点 二 了解面向对象程序设计的基本概念 作业 阅读第一章 第四章相关内容 问题1 计算机技术日新月异 作为非计算机专业的学生 我们应该如何学 学什么 2 如何处理好学习计算机与本专业学习的关系 3 如何提高利用计算机网络获取知识 解决问题 开发软件的综合能力 4 如何培养再学习的能力和跨学科的综合能力 面向21世纪的计算机系统 必将向着高性能 网络化和智能化方向发展 这对计算机软件提出了更高的要求 也为计算机软件的发展提供了更为广阔的施展舞台 必将导致计算机软件的更大进步- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 出发点 基本 思想 软件 开发 方法 过程 尽可能 接近
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文