




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章,面向对象分析和设计初步,主要内容,面向对象分析面向对象设计及实现,一个面向对象的C+程序实例,1.需求陈述(一个简单图形程序的需求):在显示器荧光屏上圆心坐标为(100,100)的位置上,画一个半径为40的圆,在圆心坐标为(200,300)的位置上,画一个半径为20的圆,在圆心坐标为(400,150)的位置上,画一条弧,弧的起始角度为30,结束角度为120,半径为50。,2.面向对象分析,确定对象使用“语法分析”方法,在需求陈述中包含的名词或名词短语是对象的候选者,它们有下列一些:显示器荧光屏,圆心坐标,位置,半径,圆,弧,起始角度,结束角度。,分析:“显示器荧光屏”是一种输出设备,是运行程序的物质基础(硬件平台),应该从候选对象中删去。“圆心坐标”和“半径”实质上是圆和弧的基本属性,并不需要独立存在,因此也应该从候选者中删去。“位置”实际上是指圆心的位置,也就是圆心坐标,没必要重复列出。“起始角度”和“结束角度”实质上是弧的属性,也应该从候选者中删去。结论:最后得出的是圆(Circle)和弧(Arc)两类对象。,圆的两个基本属性是圆心坐标和半径。弧的基本属性有圆心坐标,半径,起始角度和结束角度。分析:由于不可能在需求陈述中找到所有属性,还必须借助领域知识和常识,才能分析得出所需要的全部属性。因此,圆和弧都应该再增加一个属性可见性。,确定属性,确定服务,在分析阶段可以认为,每个属性都是可以访问的。所谓可以访问是指提供了访问对象属性的对外接口。(由对象主动地向外界提供服务)分析:由这个程序应完成的功能可知,圆和弧都应该提供在荧光屏上“画自己”的服务。相应地也应该提供“隐藏自己”这样一个服务。,结论:,圆和弧分别有各自的属性和服务,如下图所示。,3.面向对象设计_I,建立类等级面向对象程序的一个突出优点来源于继承性。应该尽量抽取出相似类的公共属性和公共服务,以建立这些相似类的父类,并在类等级的适当层次中正确地定义各个属性和服务。简单图形程序的对象模型如下图(为简明起见,图中没有列出读写属性值的常规服务)。,3.面向对象设计_II,定义属性所谓定义属性就是要确定每个属性的数据类型和数据结构,同时还要确定每个属性的访问权限(通常被定义在保护部分或私有部分)。定义服务实现“显示”服务的算法概括来说就是,把“可见性”属性设置为true,然后调用相应的库函数用当前的前景颜色画出所要的图形。,4.面向对象实现_I,圆类的定义classCircle:publicPointprotected:intRadius;public:Circle(intInitX,intInitY,intInitRadius);voidShow();voidHide();intGetRadius();,Circle:Circle(intInitX,intInitY,intInitRadius):Point(InitX,InitY)Radius=InitRadius;voidCircle:Show()Visible=true;circle(X,Y,Radius);,4.面向对象实现_II,4.面向对象实现_III,voidCircle:Hide()intTempColor;TempColor=getcolor();setcolor(getbkcolor();Visible=false;circle(X,Y,Radius);setcolor(Tempcolor);intCircle:GetRadius()returnRadius;,5.小结,用面向对象程序设计方法,解决一个简单的实际工程的基本步骤如下:1)面向对象分析:通过对用户需求的分析,合理地提取问题域中所涉及到类-&-对象。包括:这些类-&-对象中应该包括哪些属性和方法。,2)面向对象设计:对分析中得到的准确结果,设计出实现程序的方案。包括:建立类之间的继承关系:根据对系统中共性和个性的划分建立类等级即类之间的继承关系(提取公共的属性和服务以建立父类)定义属性:确定属性的数据类型及访问权限。定义服务:确定实现服务的准确算法以及清
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年河南省鄢陵县移动公司公开招聘工作人员试题带答案详解
- 2024年河南省方城县移动公司公开招聘工作人员试题带答案详解
- 2024年贵州省锦屏县烟草公开招聘工作人员试题带答案详解
- 2024年贵州省道真仡佬族苗族自治县烟草公开招聘工作人员试题带答案详解
- 中国研磨级矾土行业市场调查报告
- 中国水质预测仪表行业市场全景评估及投资前景展望报告
- 口腔科用器具项目可行性研究报告
- 中国移动洗澡机行业发展潜力预测及投资战略研究报告
- 农作物种植技术员理论学习手册练习试题及答案
- 2024-2030年中国绵羊养殖行业市场深度分析及投资潜力预测报告
- 2025贵州省水利投资(集团)有限责任公司招聘84人笔试备考题库(含答案详解)
- 保安案例培训实务指南
- (高清版)DB13∕T 5431-2021 装配式塑料水表井工程技术规程
- 辽宁省沈阳市沈河区2025届七下英语期末综合测试试题含答案
- T/DZJN 213-2023废旧锂离子电池材料再生企业清洁生产规范
- 资金托底协议书
- 2025至2030中国种植牙耗材行业营销策略建议及发展价值建议报告
- 村民股份转让协议书
- 《并行计算技术》课件
- 2025北京高三一模语文汇编:微写作
- 2025年全国教育工作会议精神解读
评论
0/150
提交评论