面向对象设计_类图设计.ppt

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
山西电信本地计费帐务系统技术交流会 主要内容 类相关的基本概念 使用UML的类图设计 类图设计的一些问题分析 继承关系的分析 对象持久化-与E-R模型的映射 类设计相关的一些设计模式 类图设计应用-信息模型建模过程及方法 对象和类 对象(Object):对象是指某个事物,大多对应于真实世界中的某个客观实体;但有些对象在真实世界中没有直接的对应物,是人们对某个事物的一种抽象描述。对象的基本特征可以归纳为对象的属性和行为两类。 类(Class):类是指对一组具有相同特征的对象的抽象描述;任何对象都是某个类的实例。 例:客户类的表示 类图和对象图 类图描述系统中的类及其相互之间的各种关系,反映了系统中包含的各种对象的类型以及对象间的各种静态关系,主要是:关联和子类型。类图也可描述类的属性和行为以及对模型中各种成分的约束。 对象图是类图的实例,描述系统中各种对象(类的实例)以及对象之间的各种静态关系。 使用UML的类图设计 类设计的相关UML元素 类 属性 操作 接口 关联 聚合 继承(泛化) 包的使用 类 属性 UML规定其语法为: 可见性 名称:类型 = 缺省值 {约束特性} 描述属性的元素 可见性:表示该属性对类外的元素是否可见。常用的有公有、受保护和私有三种。 名称:属性的名称, 是一个字符串。 类型:定义属性的种类(基本数据类型或用户自定义的类型)。 缺省值:属性的初始值。 约束特性:描述对属性的约束。 操作 UML规定其语法为 可见性 名称(参数表):返回类型表达式{约束特性} 描述操作的元素 可见性:“+”表示公有操作,“#”表示受保护的操作,“-”表示私有操作。 名称:操作的名称,是一个字符串。 参数表:其语法与属性的参数相同,参数个数是任意的。 返回类型表达式(可选项):依赖于语言的描述。 约束特性:用以描述对此操作的约束。 可见性 对“Public”、Private”和“Protected”等三个可见性标识符的含义,各种语言都有它自己的规定。UML的定义是: +(Public):公有成员在程序的任何位置都是可见的,系统中的任何对象都可以使用它。 -(Private):私有成员仅可以由定义它的类使用。 #(Protected):受保护的成员仅可以由定义它的类和该类的子类中的对象使用。 接口 接口和类不同:一个类可以有它形态的真实实例,然而一个接口必须至少有一个类来实现它。 关联 关联用于描述类之间的关系 每个关联有两个角色。例如,对于客户和订单之间的关联是:客户和订单。 关联的分类 双向关联 单向关联 关联类 聚合 基本聚合 组合聚合 自关联(反射关联) 双向关联 关联是两个类间的联接。在Rose中关联总是被假定是双向的;这意味着,两个类彼此知道它们间的联系,除非你限定一些其它类型的关联。 单向关联 在一个单向关联中,两个类是相关的,但是只有一个类知道这种联系的存在。下图显示单向关联的透支财务报告的一个实例。 关联类 在关联建模中,在一些情况下,需要包括其它类,因为它包含了关于关联的有价值的信息。对于这种情况,需要使用 关联类 来绑定你的基本关联。关联类和一般类一样表示。不同的是,主类和关联类之间用一条相交的点线连接。 自关联 类自身的关联,当一个类关联到它本身时,这并不意味着类的实例与它本身相关,而是类的一个实例与类的另一个实例相关。 聚合 聚合是一种特别类型的关联,用于描述“总体到局部”的关系。聚合分为两种类型:基本聚合、组合聚合 基本聚合 在基本聚合关系中,部分类 的生命周期独立于整体类 的生命周期。 组合聚合 在组合聚合关系中,部分类的生命周期依赖于整体类的生命周期。 继承 在面向对象的设计中一个非常重要的概念,继承,指的是一个类(子类)继承另外的一个类(超类)的属性和方法,并增加它自己的属性和方法,或者覆盖父类的属性和方法 泛化(Generalization) 泛化(Generalization): 抽象化 特化(Specialization): 实例化 继承(Inheritance): 泛化关系的一种实现机制 继承与泛化 继承是实现泛化的一种机制。在这种机制中,超类的任何一个子类都须具有其超类的所有行为:不仅要求其操作界面在文法上一致,而且要求其行为在语义上一致。 当子类中的一个操作重载其超类中相应的操作时,必须确保它提供与超类中的操作相同的服务(内容可以更多或更具体)。 如没有证明子类的行为是否与父类相同,就试图用继承来实现新类中的行为,当两者不一致时,会导致难以预测的错误。 包的引入 大系统将问题复杂化。“攻克”复杂问题的经典方法是“分而治之”。结构化方法采用功能分解来解决这个问题,但传统的结构化方法将过程与数据分离。 面向对象技术解决这个问题的基本思路是将许多类集合成一个高内聚、低耦合的

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档