软件工程(第六章面向对象方法概述)



《软件工程(第六章面向对象方法概述)》由会员分享,可在线阅读,更多相关《软件工程(第六章面向对象方法概述)(23页珍藏版)》请在装配图网上搜索。
1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,软 件 工 程,第17讲:,面向对象方法,主讲人:阳王东,Email:,主要内容,编程的沉思,什么是面向对象,面向对象的特征,对象之间的关系,编程的沉思,编程存在重复劳动吗,机器替代了人手工的重复劳动,程序则替代了人脑的重复性劳动,编程无重复,程序中的世界,经典的公式:数据结构+算法,面向对象认为软件功能是通过一个个对象的行为来完成的。,庖丁解牛的三重境界,眼中全牛,心中无牛,心中解牛,心中全牛,面向对象的基本概念,对象的定义,对象是具有相同状态的一组操作的集合。,对象是对业务系统中某个东西的抽象,这种抽象
2、反映了系统保存有关这个东西的信息或与它交互的能力。,对象是封装了数据结构及可以施加在这些数据结构上的操作的封装体,对象是一台自动机。,对象=,其中,ID是对象的标识或名字,MS是对象中的操作集合,DS是对象的数据结构,MI是对象受理的消息名集合(即对外接口),对象(Object)是类(Class)的一个实例(Instance)。,面向对象的基本概念(续),类的定义,对具有相同数据和相同操作的一组相似对象的定义。,类是对象的程序描述,对象是该程序运行时所创建的实例。,对象比作房子,那么类就是房子的设计图纸。,对象比作一个个活人,则人类则是对人这类动物的特征和行为的描述。,对象比作一条条活狗,则狗
3、类则是对狗这类动物的特征和行为的描述。,面向对象程序设计的重点是类的设计,而不是对象的设计。,面向对象的基本概念(续),消息,就是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。通常,一个消息由下述三部分组成:,接收消息的对象;,消息选择符(也称为方法名);,零个或多个参数值。,对象A向对象B发送消息f就是对象A调用对象B的方法f,面向对象的特征,以数据为中心,抑或以行为为中心,分别用上述两种方式来描述人,封装性,继承性,多态性,封装性,封装性是把对象的属性和方法结合成一个独立的单元,并尽可能荫蔽对象的内部细节。,Public,private,protected,避免访问内部数据
4、,尽量通过方法访问,优点,数据独立(每个对象都对应于一个独立的地址空间),具有隐藏性和安全性,易于维护(由于数据独立,易于发现问题),缺点,需要较多的输入输出函数,超市销售系统,仓库,属性,服务,价格表,物品列表,帐单,提供物品,帐单,入库、出库,抽象,商品,属性,服务,商标,型号,计量单位、价格、数量,入库、销售、折扣、查询数量等,抽象,继承性,继承是事物之间存在的共性,子类自动地共享基类中定义的数据和方法的机制。,基类与派生类,单继承与多重继承,继承的优点,减少原代码,即代码可重用。,代码的相互独立性。,易于维护。,体现自然界之间的关系。,继承性(续),车辆的继承关系,动物科目划分的一种继
5、承关系,非机动车,客车,卡车,车辆,拖拉机,机动车,自行车,人力车,翼手目,猫科,哺乳动物,灵长目,食肉目,鲸目,人科,猴科,犬科,人,猩猩,狗,狼,狐,猫,虎,豹,继承性(续),不要滥用继承,如果类A和类B毫不相关,不可以为了使B的功能更多些而让B继承A的功能。人想拥有狗鼻子的灵敏问题。,若在逻辑上A是B的“一部分”(a part of),则不允许B继承A的功能,而是要用A和其它东西组合出B。头与眼睛、鼻子、耳朵、嘴巴的关系。,尽量避免使用多重继承。,继承的层次不宜太多,多态性,对不同的消息表现出不同的行为,覆盖与重载,虚方法,参数重载,参数数目不同,参数类型不同,参数类型顺序不同,抽象类和
6、接口,实现与继承,类与对象的描述,(a)是表示类&对象的图形符号,(b)是表示类的图形符号。,对象之间的关系,归纳关系,组合关系,关联关系。,归纳关系,归纳关系就是“一般特珠”关系,它反映了一个类与若干个互不相容的子类之间的分类关系。高层类(即基类)说明一般性的属性,低层类(即派生类)说明特殊属性。低层类对象是某种特殊的高层类对象,它继承了在高层类中定义的属性和服务。,归纳关系体现为一种继承关系,归纳关系(续),组合关系,组合关系就是“整体部分”关系,它反映了对象之间的构成关系。组合关系也称为聚集关系。,组合关系具有的最重要的性质是传递性。也就是说,如果A是B的一部分,B是C的一部分,则A也是C的一部分,组合关系(续),关联关系,关联关系反映对象之间相互依赖、相互作用的关系。通常把两类对象之间的二元关系再细分为一对一(11)、一对多(1M)和多对多(MN)等三种,基本类型,类型的划分依据参与关联的对象的数目,关联关系(续),链属性。关联链可以通过关联类来实现,对象模型实例,作业,利用面向对象的方法对项目的题目进行初步业务对象分析和描述。,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专题党课讲稿:以高质量党建保障国有企业高质量发展
- 廉政党课讲稿材料:坚决打好反腐败斗争攻坚战持久战总体战涵养风清气正的政治生态
- 在新录用选调生公务员座谈会上和基层单位调研座谈会上的发言材料
- 总工会关于2025年维护劳动领域政治安全的工作汇报材料
- 基层党建工作交流研讨会上的讲话发言材料
- 粮食和物资储备学习教育工作部署会上的讲话发言材料
- 市工业园区、市直机关单位、市纪委监委2025年工作计划
- 检察院政治部关于2025年工作计划
- 办公室主任2025年现实表现材料
- 2025年~村农村保洁员规范管理工作方案
- 在深入贯彻中央8项规定精神学习教育工作部署会议上的讲话发言材料4篇
- 开展深入贯彻规定精神学习教育动员部署会上的讲话发言材料3篇
- 在司法党组中心学习组学习会上的发言材料
- 国企党委关于推动基层党建与生产经营深度融合工作情况的报告材料
- 副书记在2025年工作务虚会上的发言材料2篇