第三章开发对象模型(编辑修改稿)内容摘要:

果属性为private,那么属性就不可以从定义的类外调用。 如果属性为 protected,那么属性行为和 private 相同,但是可被派生类继承。 下图是类的图标。 在下图中,我们看到类名和中间区域的属性。 上图中,类的属性区域显示了账户持有者类的一些属性。 类的公共属性使用十(加号)符号前缀 表示,而私有属性使用一(减号)符号前缀表示。 A c c o u n t H o l d e r N m a e : S t r i n g A g e : i n t e g e r+ s t a t u s : B o o l e a nUML 在面向对象的分析和设计中的应用 第三章 开发对象模型 10 保护型成员在其前面可不带有任何符号或带 ( 号)。 Name: String 表示 Name 是字符串型的私有属性。 类方法 (Class Methods) 类方法定义了类可以被要求进行的行为。 程序员的责任就是将其转换为函数。 所有通过类创建出的对象都能得到同样的属性和方法。 方法可具有多个参数。 另外,方法也可使用很多类。 在定义方法时,应记住如下几点:  类似的操作不需要 使用类似的参数。 这意味着尽管可能有些方法具有相同的名字,但是它们接收的参数将不尽相同。  如果在不同的类中定义同样的操作,那么它们的功能最好是相同的。 上述类中介绍的 GetName 和 SetName 为类方法。 前缀例如+(加号)和(减号)与类属性的含义是同样的。 + GetName(): String 是“账户持有者” (Account Holder)类的公共A c c o u n t H o l d e r N m a e : S t r i n g A g e : i n t e g e r+ s t a t u s : B o o l e a n+ G e t N a m e ( ) : S t r i n g+ S e t N a m e ( s N a m e : S t r i n g )UML 在面向对象的分析和设计中的应用 第三章 开发对象模型 11 成员函数,并返回字符串型参数。 SetName 方法的解释仍然相同,但不同的是它要用到一个名为 sName 字符串型的输入参数。 对象图标 (The Object Icon) 正如上文所描述的一样,对象是类的实例。 所以对象图和类图基本相似。 下图表示对象图: 可看到 CAH: AccountHolder, CAH 为 AcountHolder 类的对象名称。 注意类对象名称和类名称之间的:(冒号)。 属性变量已经赋了值,并且当创建类 AccountHolder 的对象时,进行初始化。 应该注意的是该对象图标中没有列出方法。 类关系 (Class Relationships) 类间存在关系。 类之间各种不同的关系如下:  关联 (Association)  泛化 (Generalization) CAH: A c c o u n t H o l d e rN a m e = C h a r l s A g e = 3 5S t a t u s = T r u eUML 在面向对象的分析和设计中的应用 第三章 开发对象模型 12  依赖 (Dependency)  提炼 /细化 (Refinement) 关联 (Association) 关联 (Associations)是类之间的连接 (Connection),通常为双向的。 系统中对象之间存在的关系定义为链接 (Links)。 链接也是双向的。 因此,每个链接都具有反向链接。 可以用下图表示: (Role in Association) 一项关联都可有若干角色 (Roles)。 角色可通过关联与每个类相连。 某个类所提供的功能,从另一个类的角度来看就称为角色。 赋给类所扮演的角色的名称为角色名称。 角色名为一附有指针的字符串从类向外指出,表示该类所扮演的角色如指针所示。 上图可解释为客户可拥有一个账户,而该账户被一个客户所拥有。 两个类间的直线表示了它们之间的关联。 在对角色命名时,要记住以下几点:  角色名称如果与类名称 相同,则可省略。 C u s t o m e r A c c o u n tH o l d sO w n e d b yUML 在面向对象的分析和设计中的应用 第三章 开发对象模型 13  角色名称必须独一无二。  角色名称必须和对象的所有属性名称不同。  角色名称必须能够描述该类在该关联中的功能或作用。 单向关联 (Unidirectional Association) 考虑如下图表。 指向账号的是带有箭头的线,而不是一条直线。 这个关联表示关系只在顺着箭头的方向有。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。