UML课程设计--第七章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UML课程设计--第七章

Agenda 基本概念 继承关系的实例 基本概念 面向对象的一个非常重要的基本特征,就是引入了概括(generalization)的概念和继承(inheritance)关系。 概括是一般化描述和具体化描述之间的类关系。具体化描述构建在一般化描述之上,并对他进行扩展。具体化藐视具有一般化描述的所有属性成员和关系,并可能包含新增的信息。如:贷款和抵押贷款。 一般化的描述被称为双亲,多个层次中的该类元素称为后代。 基本概念 概括有两个目的: 1、概括的一个目的是使后代的实例可以用于任何祖先被声明使用的地方。如,一个变量被声明成存放贷款实例,则抵押贷款对象是合法的取值。 概括使多态操作成为可能,即操作的实现方法由实际对象的类(而非调用者显示指定的类)来决定。之所以如此是由于双亲可能又多个孩子,对于定义整个类层次上的搓澡,每个孩子具有自己的实现,如,对于抵押贷款利息和汽车贷款利息的计算可能是不一致的,但是它们均是双亲贷款类的操作计算利息的一个版本。 基本概念 如果一个变量被声明成可以存放双亲的类对象,则任何子类的对象均可以使用,而且每个都有自己的特殊操作。因为新的类可以在日后加入,而无需修改已有的调用。如,新的贷款类型加入后,原有的使用操作的代码无需修改。 2、概括的另一个目的是共享对祖先的描述,并允许对元素进行增量描述,这被称为继承。继承是一种机制,通过该机制,类对象的描述由该类和它祖先中的声明所组成,继承允许描述的被共享部分只声明一次,不需要在其他的类中重新声明。 基本概念 继承 每种可概括的元素都具有一系列可继承的属性。对于任何模型元素它们包括约束,对于分类还包括特征属性、操作和信号接收及关联。孩子继承所有祖先的可继承特征,它的完整特征集是所继承特征集和直接定义特征集的总和。在祖先中声明的属性不能在子孙中重复声明。操作可以在若干类中声明,只要它们的形式一致,具有相同的参数约束和含义。 被继承的类称为基类,继承基类的类称为子类。如: 在生活上,儿子继承了父亲的基因,所以儿子与父亲有很多共同点。在java语言上,应用继承这一特征,大大缩短了建立类的时间,因为很多方法在父类存在的,并不需要在子类中在重新创建,只需要创建新的方法与变量。继承性对于一个大型的项目来说是非常重要,系统设计员会建立很多公共类,而编码人员根据公共类会建立很多新类用于具体的实施。在程序中应用继承性的关键字是“extends”。实例: 基本概念 多态性 多态性表现在两个方面:1、同一运算符可以作用在多种对象类型上。2、相同的函数名可以作用在不同的对象类型上,并产生不同的效果 在生活上,由于基因遗传不同,人分为男和女,同是男性,大家的身高、面貌也各不相同。这叫做物种的多态性。在java语言上,同以各类可以有很多个构造器,或者多个名字相同,但参数不同的方法,这称为多态性。如按钮的创建方法就有五种,字符串的创建方法也有多种。 实例 在选课系统中,设计到的用户包括管理员(Rsgistrar)和学生(Student),其主要特征相似,所以可以建立统一基类(People),而Rsgistrar和Student则由People 派生。 在角色或类之间添加继承关系。如: 1、打开Logical View下的main,在类途中,将角色从Use Case View拖进来。 2、选择类图工具“Generalization”,画出他们之间的关系。 3、给People增加属性name。打开Student和Registrar的“Class Specification ”对话框,打开属性一栏。 4、将People的属性name设置成保护或公共的,查看Student和Registrar的属性的改变。 实例 实例 UML课程设计 郑州经贸职业学院 马孝贺 suhma@163.com 第七章 类的继承 学习目标 能够正确定义继承关系 在Rose中建立继承关系 能够正确分析属性和操作的可继承性 类的继承 继承模拟了客观世界中存在的特殊和普遍之间的关系。在面向对象的机制中,利用继承关系可以很容易地在原有类上增加新的东西。 父类 子类 子类 package animal; public class RedDogClass extends DogClass{ //创建毛的颜色属性 String furColor =; public RedDogClass(){ furColor=红色; } RedDogClass类继承DogClass类,那么RedDogClass类拥有DogClass类的所有属性和方法, RedDogClass类是子类, DogClass类是父类。 在java语言中,所有类都继承Object类。 p

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档