gpt4 book ai didi

java - 这个 UML 图的实现是否正确?

转载 作者:行者123 更新时间:2023-12-01 23:08:08 24 4
gpt4 key购买 nike

Is this implementation of the UML diagram correct?

我正在准备考试,我们的教授没有给我们解决这些任务的方法,因为我们应该自己积极主动,但我仍然希望得到反馈。 enter image description here

我的代码:

public abstract class Employee {
protected String name;
protected int salery;
public Employee(){
name="";
salery=0;
}
public String toString(){
return "name: "+name+"salery: "+salery;
}
}

import java.util.ArrayList;

public class EmployeeList {
protected ArrayList<Employee> members;

public EmployeeList(){
members=new ArrayList<Employee>();
}

public String toString(){
String ret="";
for(int i=0;i<members.size();i++){
ret+=members.get(i).toString()+" ";
}
return ret;
}
}
public class Manager extends Employee{
protected String department;
public String toString(){
return department;
}
}

该代码似乎在实践中有效,因为我已经用以下方法对其进行了测试:

    EmployeeList employeeList=new EmployeeList();

Manager m1=new Manager();
Manager m2=new Manager();
Manager m3=new Manager();

m1.department="McDonalds";
m2.department="BigHouse";
m3.department="Heart";

System.out.println(m1);

employeeList.members.add(m1);
employeeList.members.add(m2);
employeeList.members.add(m3);

System.out.println(employeeList);

最佳答案

您(应该)因大量 Java 风格错误以及将 salary 拼写错误为 salery 而被扣分。是的,这些事情确实很重要。

您是否应该将字段声明为 private 并提供 protected getter 和 setter 也值得商榷。将 getter 和 setter 放入 UML 图中不是正常的做法。他们有点假设。但是在 Java 中声明非 private 字段是(通常)不好的做法。

最后,Employee 不应该是抽象的。 (您只能创建 Manager 对象而不能创建 Employee 对象甚至没有意义。)


在实践中,Java 类(或其他)不需要是 UML 的字面翻译。 UML 是一种设计符号……不是规范语言。

关于java - 这个 UML 图的实现是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70436061/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com