




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象建模技术
信息工程与自动化学院
计算机系/计算机重点郊室
教师:陈星
授课日期: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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国标本采集刀市场调查研究报告
- 2025年中国小肽生长素市场调查研究报告
- 2025年中国四通道主站市场调查研究报告
- 2025年中国不干胶贴市场调查研究报告
- 2025年中国传真机零部件市场调查研究报告
- 2025-2030智能手表行业并购重组机会及投融资战略研究咨询报告
- 2025-2030手动工具组行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030工艺品行业市场发展分析及前景趋势与投资战略研究报告
- 2025-2030工业自动控制系统行业市场深度分析及竞争格局与投资价值研究报告
- 2025-2030少女内衣市场发展分析及行业投资战略研究报告
- 2020年全国1卷-语文真题(解析版)
- DL 5190.3-2019 电力建设施工技术规范 第3部分:汽轮发电机组
- 关于学生假期(寒暑假)安排的调查问卷
- 北京市海淀区2023-2024学年八年级下学期期末考试英语试题(解析版)
- 重症医学中级考试记忆总结
- 成语故事对牛弹琴
- 物流成本管理第四版段春媚课后参考答案
- MOOC 中医儿科学-广州中医药大学 中国大学慕课答案
- 马拉松赛事运营服务方案
- 2024年高级轧钢工技能理论考试题库(含答案)
- 2023年国家人力资源和社会保障部人事考试中心招聘考试真题及答案
评论
0/150
提交评论