【发布时间】:2016-04-09 01:25:11
【问题描述】:
为流媒体电影租赁系统创建面向对象的设计 (如Netflix)。你的类名,私有实例变量, 方法等完全取决于您。
规格
每个用户都有以下相关信息:
- 一个名字。
- 帐号。
- 有序的电影播放列表。
- 特别是,如果电影 A 在播放列表中在电影 B 之前,则用户在 B 之前观看 A。
- 用户最近看过的五部电影。
共有三种不同类型的用户:
- 试用
- 试用用户一次只能在其播放列表中播放一部电影。
- 成员
- 会员一次最多可以在其播放列表中拥有 5 部电影。
- 贵宾会员
- VIP 会员可以在其播放列表中拥有无限数量的电影。
每个用户都必须能够执行以下操作:
- 签出电影
- 如果用户签出电影,则将其放在用户播放列表的末尾。
- 看电影
- 如果用户观看电影,则该电影将从用户的播放列表中删除。您可以假设用户只能观看任何内容 电影位于播放列表的前面。
- 回忆他们最近看过的五部电影
- 此操作应将用户观看的最新电影打印到屏幕上。
每部电影都包含以下信息:
- 标题
- 约会
- 一种流派
- 租金价格
注意不同的用户有不同的电影租借权,所以 用户可能会尝试做他(她)正在做的事情 不允许这样做。 发生这种情况时,您必须执行以下操作:
- 确保未执行该操作。
- 打印一条信息性错误消息,说明无法执行操作的原因。
您的面向对象设计必须包含以下面向对象的功能:
- 一个抽象类
- 其他类构建的基类应该是什么?
- 继承
- 特别是,您必须从基本抽象类继承。
- 多态性(动态绑定)
- 特别是,您检查电影的方法必须是多态的。
我想出了下面的类图,还没有完成:
首先,我对这三个功能应该去哪里有点困惑...查看电影,观看电影并获取最近观看的 5 部电影。另外,想知道如何关联这些类。
我已经编辑了我的类图。我正在寻找一些关于类关系的反馈
【问题讨论】:
-
我猜你没有明白具体课程的重点。还有为什么你用 StereoType 来定型类。完全没有意义。
-
我认为这些功能属于用户,因为您已经完成了。
-
当我写下我的答案时,我不认为你的编辑在那里,并且它不包括已经给出的关于类关系的反馈。您在寻找什么反馈?
-
附注您编辑的图表不如原始图表正确。
标签: oop object inheritance polymorphism uml