1.这个题的类图怎么画?
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()方法,并重写父类的所有方法。
在这个问题中,我们需要根据给定的要求画出类图。根据问题描述,我们可以得到以下类的关系:
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() |
+-----------------+
以上是根据问题描述画出的类图,每个类的属性和方法都按照要求进行了标注。接下来,我们可以编写测试类来测试以上四个类的功能。 根据你的描述,这个类图可以按照以下方式绘制:
+-------------------+
| 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
如果问题已经解决,请设置最佳答案
页:
[1]