文档详情

UML和设计模式课件3 对象类静态建模.ppt

发布:2019-04-19约6.61千字共39页下载文档
文本预览下载声明
例:类间的关系 例:图形编辑器 图形编辑器一般都具有一些基本图形,如直线、矩形等,用户可以直接使用基本图形画图,也可以把基本图形组合在一起创建复杂图形 如果区别对待基本图形和组合图形,会使代码变得复杂,而且多数情况下用户认为二者是一样的 组合模式可以用相同的方式处理两种图形 Graphics: 基本图形和组合图形的父类,声明了所有图形共同的操作,如Draw;也声明了专用于组合图形管理子图形的操作,如Add、Remove Line、Rectangle: 基本图形类 GroupGraphics: 组合图形类,与父类有组合关系,从而可以组合所有图形对象(基本图形和组合图形) 组合模式 3.3.3 习题 右图描述了菜单(Menu)、菜单项(MenuItem)、抽象命令类(Command)和具体命令类(OpenCommand, PasteCommand)之间的关系, 根据改图,完成1-4题。 (1)哪两个类之间存在组合关系 Menu、MenuItem MenuItem、Command Command、OpenCommand Command、PasteCommand (2)OpenCommand和PasteCommand是什么关系 a)组合 b)泛化 c)聚合 d)没关系 (3)编辑菜单(EditMenu)是一种菜单,下面哪个图较好的描述了二者之间的关系 (4)下面哪份代码(C++)最接近于图中对MenuItem的描述 b c d a Menu + Add(item : MenuItem) EditMenu class MenuItem { private: virtual void Click() =0; public: Command* command; }; a class MenuItem { public: virtual void Click() = 0; private: Command* command; }; b class MenuItem { private: virtual void Click() = 0; void undo(); public: Command* command; }; c class menuitem { public: virtual void Click() = 0; private: Command* command; }; d 右图描述了图形接口(Graphics)、线段(Segment)、矩形(Rectangle)、点(Point)和三维点(Point3D)之间的关系, 完成5-7题 (5)下面哪个关系没有在图中出现 a)关联 b)泛化 c)实现 d)依赖 (6)下面对图中①②③④四处的多重性的描述哪个不正确 ① 1 ② 0...* ③1 ④1 ① ② ③ ④ (7)下面哪份代码(Java)最接近于图中对Segment的描述 public class Segment implements Graphics { privatc void Draw(); public Point ptStart; public Point ptEnd; } a public class Segment extends Graphics { public void Draw(); private Point ptStart; private Point ptEnd; } b public class Segment implements Graphics { private Point ptStart; private Point ptEnd; public void Draw(); } c public class segment implements graphics { public void Draw(); private Point ptStart; private Point ptEnd; } d 演出售票系统 在用例驱动的开发过程中,通过分析各个用例及参与者得到类图。分析用例图的过程中需要根据面向对象的原则设计类和关系,根据用例的细节设计类的属性和操作 在这里只考虑以下三个用例: Buy tickets: 买个人票 Buy Subscription: 买套票 Make charges: 信用卡付款 Kjosk(信息亭) Clerk Buy tickets Buy Subscription 信用卡服务商 Make charges 监
显示全部
相似文档