鱼C论坛

 找回密码
 立即注册
查看: 1006|回复: 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()方法,并重写父类的所有方法。
想知道小甲鱼最近在做啥?请访问 -> 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()方法,并重写父类的所有方法

下面是类图的表示方法:
+-----------------+
|    People       |
+-----------------+
| - height: double|
| - weight: double|
+-----------------+
| + sayHello()    |
| + averageHeight()|
| + averageWeight()|
+-----------------+
        ^
        |
        |
+-----------------+
|    Chinese      |
+-----------------+
| + chinaGongfu() |
+-----------------+
        ^
        |
        |
+-----------------+
|    American     |
+-----------------+
| + americanBoxing()|
+-----------------+
        ^
        |
        |
+-----------------+
|    Kailiman     |
+-----------------+
| + gejiaGongfu() |
+-----------------+

以上是根据问题描述画出的类图,每个类的属性和方法都按照要求进行了标注。接下来,我们可以编写测试类来测试以上四个类的功能。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-29 17:52:17 | 显示全部楼层
根据你的描述,这个类图可以按照以下方式绘制:
    +-------------------+
    |      People       |
    +-------------------+
    | - height: double  |
    | - weight: double  |
    +-------------------+
    | + sayHello()      |
    | + averageHeight() |
    | + averageWeight() |
    +-------------------+
           /_\\
            |
            |
  +-------------------+       +-------------------+
  |      Chinese      |       |     American     |
  +-------------------+       +-------------------+
  | + chinaGongfu()   |       | + americanBoxing()|
  +-------------------+       +-------------------+
  | + sayHello()      |       | + sayHello()      |
  | + averageHeight() |       | + averageHeight() |
  | + averageWeight() |       | + averageWeight() |
  +-------------------+       +-------------------+
           /_\\
            |
            |
  +-------------------+
  |      Kailiman     |
  +-------------------+
  | + gejiaGongfu()   |
  +-------------------+
  | + sayHello()      |
  | + averageHeight() |
  | + averageWeight() |
  | + chinaGongfu()   |
  +-------------------+

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

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

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

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-3 21:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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