UML-冰球比赛类图

题目:

一支冰球队由一名中锋、一名守门员、两名边锋以及两名后卫组成。每个队员都手持一个曲棍,用来在冰上运球,目标是用曲棍将球射入对方的球门。冰球比赛通常在一个室内的冰球场上进行。场地长200英尺、宽最大为100英尺。中锋的任务是将冰球传递给边锋,边锋的射门技术通常比前锋更好。后卫力图阻止对方到达本方的射门位置和射门。守门员是最后一道防线,阻挡对方的射门。每当他成功的阻挡出对方的射门,他就进行了一次“救球”。每射进球门一次得一分。一场冰球比赛要进行60分钟,这60分钟被分3次20分钟的比赛。

使用上述信息绘制一幅类图。如果你知道的关于冰球比赛的知识比上面描述的更多,那么在你的类图中增加你所知道的信息。

分析:

属性

  1. Game(比赛)

    • duration: int = 60:比赛时长,默认为60分钟。

    • periods: int = 3:比赛周期数,默认为3。

    • teams: List<Team>:参赛队伍列表。

  2. Team(队伍)

    • name: String:队伍名称。

    • players: List<Player>:队员列表。

  3. Player(球员)

    • name: String:球员姓名。

    • number: int:球衣号码。

    • position: String:场上位置。

  4. Rink(冰场)

    • length: int = 200:冰场长度,默认为200英尺。

    • width: int = 200:冰场宽度,默认为200英尺。

关系

  1. Game(比赛)

    • Team 类有一对多的关系,每场比赛有两支队伍。

    • Rink 类有一对一的关系,比赛在冰场上进行。

  2. Team(队伍)

    • Player 类有多对多的关系,每支队伍有多个队员。

    • Game 类有一对多的关系,队伍参与比赛。

  3. Player(球员)

    • Team 类有一对多的关系,球员属于某支队伍。

    • 继承自 ForwardDefensemanGoalie 类。

  4. Rink(冰场)

    • Game 类有一对一的关系,比赛在冰场上进行。

继承关系

  1. Player(球员)

    • 继承自 ForwardDefensemanGoalie 类。

  2. Forward(前锋)

    • 继承自 Player 类。

  3. Defenseman(后卫)

    • 继承自 Player 类。

  4. Goalie(守门员)

    • 继承自 Player 类。

方法

  1. Game(比赛)

    • startGame():开始比赛。

    • endGame():结束比赛。

    • scoreGoal(Team):为指定队伍计分。

  2. Team(队伍)

    • addPlayer(Player):添加队员。

    • removePlayer(Player):移除队员。

  3. Player(球员)

    • play():开始比赛。

  4. Forward(前锋)

    • shootPuck():射门。

    • passPuck():传球。

  5. Defenseman(后卫)

    • blockOpponent():阻挡对手。

    • clearPuck():清球。

  6. Goalie(守门员)

    • saveShot():扑救。

冰球比赛对象图请参考:UML-冰球比赛对象图-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值