软件工程第六章面向对象方法概述讲解学习_第1页
软件工程第六章面向对象方法概述讲解学习_第2页
软件工程第六章面向对象方法概述讲解学习_第3页
软件工程第六章面向对象方法概述讲解学习_第4页
软件工程第六章面向对象方法概述讲解学习_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程

第17讲:面向对象方法主讲人:阳王东Email:yangwangdong@126.com主要内容编程的沉思什么是面向对象面向对象的特征对象之间的关系编程的沉思编程存在重复劳动吗机器替代了人手工的重复劳动程序则替代了人脑的重复性劳动编程无重复程序中的世界经典的公式:数据结构+算法面向对象认为软件功能是通过一个个对象的行为来完成的。庖丁解牛的三重境界眼中全牛,心中无牛心中解牛心中全牛面向对象的基本概念对象的定义对象是具有相同状态的一组操作的集合。对象是对业务系统中某个东西的抽象,这种抽象反映了系统保存有关这个东西的信息或与它交互的能力。对象是封装了数据结构及可以施加在这些数据结构上的操作的封装体对象是一台自动机。对象∷=<ID,MS,DS,MI>其中,ID是对象的标识或名字MS是对象中的操作集合DS是对象的数据结构MI是对象受理的消息名集合(即对外接口)对象(Object)是类(Class)的一个实例(Instance)。面向对象的基本概念(续)消息,就是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。通常,一个消息由下述三部分组成:接收消息的对象;消息选择符(也称为方法名);零个或多个参数值。对象A向对象B发送消息f就是对象A调用对象B的方法f面向对象的特征以数据为中心,抑或以行为为中心分别用上述两种方式来描述人封装性继承性多态性封装性封装性是把对象的属性和方法结合成一个独立的单元,并尽可能荫蔽对象的内部细节。Public,private,protected避免访问内部数据尽量通过方法访问优点数据独立(每个对象都对应于一个独立的地址空间)具有隐藏性和安全性易于维护(由于数据独立,易于发现问题)缺点需要较多的输入输出函数超市销售系统仓库属性服务价格表,物品列表,帐单提供物品,帐单,入库、出库抽象商品属性服务商标,型号,计量单位、价格、数量入库、销售、折扣、查询数量等抽象继承性继承是事物之间存在的共性子类自动地共享基类中定义的数据和方法的机制。基类与派生类单继承与多重继承继承的优点减少原代码,即代码可重用。代码的相互独立性。易于维护。体现自然界之间的关系。继承性(续)车辆的继承关系动物科目划分的一种继承关系非机动车客车卡车车辆拖拉机机动车自行车人力车翼手目猫科哺乳动物灵长目食肉目鲸目人科猴科犬科人猩猩狗狼狐猫虎豹继承性(续)不要滥用继承如果类A和类B毫不相关,不可以为了使B的功能更多些而让B继承A的功能。人想拥有狗鼻子的灵敏问题。若在逻辑上A是B的“一部分”(apartof),则不允许B继承A的功能,而是要用A和其它东西组合出B。头与眼睛、鼻子、耳朵、嘴巴的关系。尽量避免使用多重继承。继承的层次不宜太多多态性对不同的消息表现出不同的行为覆盖与重载虚方法参数重载参数数目不同参数类型不同参数类型顺序不同抽象类和接口实现与继承类与对象的描述(a)是表示类—&—对象的图形符号,(b)是表示类的图形符号。对象之间的关系归纳关系组合关系关联关系。归纳关系归纳关系就是“一般—特珠”关系,它反映了一个类与若干个互不相容的子类之间的分类关系。高层类(即基类)说明一般性的属性,低层类(即派生类)说明特殊属性。低层类对象是某种特殊的高层类对象,它继承了在高层类中定义的属性和服务。归纳关系体现为一种继承关系归纳关系(续)组合关系组合关系就是“整体—部分”关系,它反映了对象之间的构成关系。组合关系也称为聚集关系。组合关系具有的最重要的性质是传递性。也就是说,如果A是B的一部分,B是C的一部分,则A也是C的一部分组合关系(续)关联关系关联关系反映对象之间相互依赖、相互作用的关系。通常把两类对象之间的二元关系再细分为一对一(1∶1)、一对多(1∶M)和多对多(M∶N)等三种

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论