版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象建模技术
信息工程与自动化学院
计算机系/计算机重点郊室
教师:陈星
授课日期:2011年3月7
第三课类继承(一)
★红色部分属于力纲要求
o面向对象建模技术
♦什包I.”・
=处/于।大QI口」口3/「T^rra干if,iw也LX
的关系’
。不是对象之间的关系
。与人的分类概念较为接近
图2-19一个层次结构
面向对象建模技术
.关于物14术・
•纵承:火车绻承了陆上交通「具的特性.
•一般化/具体化:火车比陆上交通工具更具体,陆上交通工具比火车更一般化e
•父类/子类:岫卜交通I具是火车的父类,火车是地上交通L具的子类.
•超类/子类,陆上交通工具是火车的超类,火军是触上交通工具的子类。
•基类/派生类:陆上交通工具是基类,火车是派生类,
本书不使用基类和派生类.
o面向对象建模技术
面向对象建模技术
1^1^q.
—火
=:ni/八1,八:j为i<_iy目jIrm
\
对象a所具有的属性
'和操作对象b自动都Jaib-"工
.有。师
心-------------JB
°。
o面向对象建模技术
乂
o面向对象建模技术
乂
O面向对象建模技术
子
IITUUkN口7「回目」,|比不
商品销售界面
搜索区
分类列表
大图标展小区/商品细节区
面向对象建模技术
♦■子
检索面板
o面向对象建模技术
于
O
△
我的检索利用类继承,把我的商品
面板自己的程序替换细节面板
进去,让它们一
起工作。.
o面向对象建模技术
子
o面向对象建模技术
子
实际系统
继承N以指定类从父类中养取些特件,再添加它向J的和待特杵一技济会擢述对叁的
够个系列。继承可以把类蛆合到越来越通用的概念中,最后就会推导出我们生活的世界.
从编程的观点来看,需要继承是因为:
•它支持更丰富、更强大的建模•这有利F开发小组和其他想电用代码的开发人员a
•它可以在一个类中定义信息和行为.在相关的子类中共享这些定义Q这样要编写的代
码就比较少.
•继承昆伊自然的,它盘面向N*的主爵动机之〕
f类继承超类的所有字段、消息和方法(以处断言L例如,如果要给陆上交通工具建模,
o面向对象建模技术
o面向对象建模技术
〜卜日八JCH、LMLyjD、IIU
。类和属性电,
milesPerGallon
o面向对象建模技术
=f一zjyi口IVIVDIIIJUF/।、I<Ax^v^ai、
Bicycle、Truck的语义?
。减少“黑线”
Car------3milesPerGallon
通过绿线和黑线的组合Car、
Bicycle、Truck还是能连接
至!JtopSpeed
o面向对象建模技术
Car
mllesPerGallon:float
getMllesPerGallon():tloat
setMllesPerGallon(:float)
LandVehlcleBicycle
topSpeed:floatnumberOfGearsdnt
getTopSpeGd(}:floatgetNumberOfG9ars():float
setlbpSpeed(:tloat)setNumberOfGears(:lnt)
UML中,类型Truck
放在冒号后面。
axleWelghtifloat
getAxleWelghtf):float
setAxleWeight(:tloat)
o面向对象建模技术
@面向对象建模技术
zjyi
一组对象<Collection
ArrayList
O面向对象建模技术
入的次序。
a对象世界加入的次序
o面向对象建模技术
=匕7厂
一组对象<Collection
o面向对象建模技术
〜匕日々目1-zjyik;
o面向对象建模技术
只要利用黑线与绿线组合;绿线与绿线组合,
对象与类和属性的对应关系没有改变。
。减少了概念的联系,降低了耦合.
面向对象建模技术
面向对象建模技术
contains
△
ArrayListLinkedList
面向对象建模技术
=/口/心/ji/AdciIICIILr\i;
@面向对象建模技术
z
ru/n二口1/八।工;
面向对象建模技术
»««2
=/口/心7Jl/AVk-FIILOII13;
numberOfElements
面向对象建模技术
»««2
y/|力厂口二ni/八।工;
numberOfElements
@面向对象建模技术
contains!rObject):boolean・
返回false.
elementAt(:int):Object在W
numberOfElementM);int返
ArrayListLinkedList
o面向对象建模技术
o面向对象建模技术
@面向对象建模技术
LinkedList
面向对象建模技术
=I又厂口;I山办日向口jf十口匕。
。你会给很多水果削掉果皮,自然而然产生“削
果皮”的概念,产生,:
。抽象类Fruit
。抽象方法peel
。假如给一个Fruit的对象发送peel消息,将会怎
样?\F
Q假如给List对象发送一个contains消息卜将会怎
样?1
o面向对象建模技术
.MM
』」山为IK:uJ/、依J、
面向对象建模技术
。所有射向“苹果”类的对象都射向“水果”类
面向对象建模技术
。增加“苹果”与“水果”的继承关系
苹果T水果
面向对象建模技术
注_L^二八UJ;
没有直接用“黑线”投
到“水果”的对象。
o面向对象建模技术
.MH
o面向对象建模技术
.MH
o面向对象建模技术
.MH
山为0UL
人类思维的习惯
o面向对象建模技术
.MM
03由然大中J大匕口/「为口L白及MRTlkTN;tT」界
体细节♦
。可能含有无法被程序实现的方法
0称为抽象方法,下.r
。请思考:抽象方法既然无法执行,有什么用处
呢?、
面向对象建模技术
IIJ4口力、/114I。,、
•方法包括1
。方法名
。方法参数表
。方法体(代码)
❷抽象方法
。没有方法体
。无法执行
立抽象类无法实例化
o面向对象建模技术
・^IVIL-।i十丁补/J、」国力
。如果不能使用斜体字,在类名左边或上方注明
{abstract}
抽象类有如下优点:
•它们允许更丰富、更灵活地建模。例如,List类有三个消息contains、elementAt和
numberOfElements,但我们不能为它们提供具体的方法。
•它们可以共享更多的代码,因为可以编写具体的方法来使用抽象的方法,例如,List
的contains方法调用抽象方法&
•有方法体(代码)的方法"-
•对抽象方法的调用,被自动代替为对具体
方法的调用。
•请思考内在的好处。
面向对象建模技术
publicabstractclassList
(
publicabstractbooleancontains(Objecto);
)
③错误的语句:newList();v
③只有具体的类能够被实例化,如果调配抽象方
达,最终一定会调用一个具体类的“事定义方
法”。1
o面向对象建模技术
■mum
o面向对象建模技术
elementAt
b
I
ArrayList
o面向对象建模技术
■mum
o面向对象建模技术
■mum
©面向对象建模技术
面向对象可以重新定义继承来的元素。最简单的形式是,重定义允许子类修改继承方法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 妊娠期免疫性疾病的个体化调节策略
- 妊娠期急性胰腺炎的病因与治疗策略新进展
- 安全生产判断试题及答案
- 大段骨缺损:机器人3D打印血管化修复策略
- 大数据分析在疼痛预测中的模型构建
- 科目二考试顺序及答案
- 2026年体验农业(开发模式)试题及答案
- 2025年中职第四学年(制冷系统维修)故障排除阶段测试题及答案
- 2025年高职室内设计(室内装修设计)试题及答案
- 2025年高职(航空服务)航空服务基础试题及答案
- 肾性贫血PDCA课件
- 人工智能通识教程 课件 第12章-提示词工程
- 人工智能+灵活就业创新模式研究报告
- 冬季通信工程安全培训课件
- 板换式换热器施工方案
- 福建省计算机专项考评员试题含答案
- 2025年中远海运招聘1189人(含社招)笔试参考题库附带答案详解
- (正式版)DB61∕T 1878-2024 《餐饮业油烟管道系统清洗规范》
- 水利水电工程单元工程施工质量验收标准 第4部分:堤防与河道整治工程
- 青鸟缆式线型感温火灾探测器JTW-LD-JBF4310施工指导及调试注意事项
- 译林版新高一英语《语法填空》专项练习题汇编(含答案解析)
评论
0/150
提交评论