鱼C论坛

 找回密码
 立即注册
查看: 1771|回复: 2

1.这个题的类图怎么画?

[复制链接]
发表于 2023-10-29 17:51:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1.编写程序模拟美国人、中国人、凯里人,请分别定义People、Chinese、American和Kailiman 4个类。请画出类图,编写测试类测试以上四个类的功能。设计要求如下:
(1)People类有权限为protected的double型成员变量height和weight,以及公有方法sayHello()、averageHeight()和averageWeight()。
(2)Chinese类是People的子类,新增了chinaGongfu()方法,并重写父类的所有方法。
(3)American类是People的子类,新增了americanBoxing()方法,并重写父类的所有方法。
(4)Kailiman类是Chinese的子类,新增了gejiaGongfu()方法,并重写父类的所有方法。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-10-29 17:51:37 | 显示全部楼层
在这个问题中,我们需要根据给定的要求画出类图。根据问题描述,我们可以得到以下类的关系:

1. People类:
· 属性:protected double型成员变量height和weight
· 方法:公有方法sayHello()、averageHeight()和averageWeight()

2. Chinese类(继承自People类):
· 方法:新增了chinaGongfu()方法,并重写父类的所有方法

3. American类(继承自People类):
· 方法:新增了americanBoxing()方法,并重写父类的所有方法

4. Kailiman类(继承自Chinese类):
· 方法:新增了gejiaGongfu()方法,并重写父类的所有方法

下面是类图的表示方法:

  1. +-----------------+
  2. |    People       |
  3. +-----------------+
  4. | - height: double|
  5. | - weight: double|
  6. +-----------------+
  7. | + sayHello()    |
  8. | + averageHeight()|
  9. | + averageWeight()|
  10. +-----------------+
  11.         ^
  12.         |
  13.         |
  14. +-----------------+
  15. |    Chinese      |
  16. +-----------------+
  17. | + chinaGongfu() |
  18. +-----------------+
  19.         ^
  20.         |
  21.         |
  22. +-----------------+
  23. |    American     |
  24. +-----------------+
  25. | + americanBoxing()|
  26. +-----------------+
  27.         ^
  28.         |
  29.         |
  30. +-----------------+
  31. |    Kailiman     |
  32. +-----------------+
  33. | + gejiaGongfu() |
  34. +-----------------+
复制代码


以上是根据问题描述画出的类图,每个类的属性和方法都按照要求进行了标注。接下来,我们可以编写测试类来测试以上四个类的功能。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-29 17:52:17 | 显示全部楼层
根据你的描述,这个类图可以按照以下方式绘制:

  1.     +-------------------+
  2.     |      People       |
  3.     +-------------------+
  4.     | - height: double  |
  5.     | - weight: double  |
  6.     +-------------------+
  7.     | + sayHello()      |
  8.     | + averageHeight() |
  9.     | + averageWeight() |
  10.     +-------------------+
  11.            /_\\
  12.             |
  13.             |
  14.   +-------------------+       +-------------------+
  15.   |      Chinese      |       |     American     |
  16.   +-------------------+       +-------------------+
  17.   | + chinaGongfu()   |       | + americanBoxing()|
  18.   +-------------------+       +-------------------+
  19.   | + sayHello()      |       | + sayHello()      |
  20.   | + averageHeight() |       | + averageHeight() |
  21.   | + averageWeight() |       | + averageWeight() |
  22.   +-------------------+       +-------------------+
  23.            /_\\
  24.             |
  25.             |
  26.   +-------------------+
  27.   |      Kailiman     |
  28.   +-------------------+
  29.   | + gejiaGongfu()   |
  30.   +-------------------+
  31.   | + sayHello()      |
  32.   | + averageHeight() |
  33.   | + averageWeight() |
  34.   | + chinaGongfu()   |
  35.   +-------------------+
复制代码


在这个类图中,People是一个基类,它有两个受保护的成员变量height和weight,以及三个公有方法sayHello()、averageHeight()和averageWeight()。

Chinese和American是People的子类,它们都重写了父类的所有方法,并分别新增了chinaGongfu()和americanBoxing()方法。

Kailiman是Chinese的子类,它重写了父类的所有方法,并新增了gejiaGongfu()方法。

注意:在类图中,“+”表示公有方法,“-”表示私有或受保护的成员变量,“/_\\”表示继承关系。
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-22 03:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表