java - 如何从给定的 java 类创建 UML 图?

标签 java constructor uml

我想知道如何从我已经编写的 java 类创建 UML 图。我的一个主要问题是我是否需要在 UML 图的这个框中包含所有覆盖函数?其他一切看起来都正确吗?我在 UML 讲座期间病得很重,所以我必须自学,并且对我的工作没有 100% 的信心。

这是我的 java 类,然后我将发布我为该类制作的图表。

public class Dog extends Pet implements LicensedPet, TrainedDog {

public static final String GENUS = "canis";

private Boolean isHappy = false;
private Boolean isSitting = false;
private LocalDateTime whenLicensed;

public Dog(String name, int age, Gender gender) {
    super(name, age, "dog", gender);
}

public void petDog() {
    isHappy = true;
}

public void praiseDog() {
    isHappy = true;
}

public void yellAtDog() {
    isHappy = false;
}

public Boolean getIsHappy() {
    return isHappy;
}

public String getIsHappyAsString() {
    if (isHappy) {
        return "happy";
    } else {
        return "sad";
    }
}

@Override
public String[] getCoreVaccines() {

    String[] coreVaccines = {
        "Rabies 1-year",
        "Rabies 3-year",
        "Distemper",
        "Parvovirus",
        "Adenovirus"
    };

    return coreVaccines;
}

@Override
public String[] getNonCoreVaccines() {

    String[] nonCoreVaccines = {
        "Parainfluenza",
        "Bordetella bronchiseptica",
        "Lyme disease",
        "Leptospirosis",
        "Canine influenza"
    };

    return nonCoreVaccines;
}

@Override
public Boolean isLicensed() {
    return whenLicensed != null;
}

@Override
public void assignLicense() {
    whenLicensed = LocalDateTime.now();
}

@Override
public LocalDateTime whenLicensed() {
    return whenLicensed;
}

@Override
public void sit() {
    isSitting = true;
}

@Override
public void unsit() {
    isSitting = false;
}

@Override
public String speak() {
    return "Yawyahwer";
}

@Override
public String bark(int numBarks) {
   String barks = "";
   for (int i = 0; i < numBarks; i++) {
       barks += "bark!";
   }

   return barks;
}

@Override
public String toString() {
    String info = super.toString();

   String updatedInfo =  String.format("%s, isHappy: %s", info, isHappy);

   if (whenLicensed != null) {
       updatedInfo +=  ", whenLicensed: " + whenLicensed;
   }

   return updatedInfo;
}
}

这是我迄今为止为本类(class)创建的内容。

    Dog
---------
    +GENUS:string 
    -isHappy:boolean
    -isSitting:boolean
    -whenLicensed:LocalDateTime
----------------
    +«constructor»Dog(name:string, age:int, gender:gender)
    +petDog()
    +praiseDog()
    +yellAtDog()
    +getIsHappy():boolean
    +getIsHappyAsString():string

感谢您提前提供的帮助,我很感激

最佳答案

您可以将 ObjectAid 插件添加到 eclipse 并轻松检查其中的类(拖放到类图 Canvas 上)。 http://www.objectaid.com/

这是你的狗类的样子 UML for DOG

关于java - 如何从给定的 java 类创建 UML 图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33267219/

相关文章:

java - java字节码和过程间数据流分析框架的上下文敏感调用图?

java - 如何为 Android 应用程序创建标题屏幕?例如。当应用程序像 Facebook 一样加载时

c++ - vector 的实现如何在不出现对象初始化问题的情况下工作?

go - Go构造函数中的返回值与指针

c# - 使用 EF 的单例设计模式和异步方法

sql - 星型模式中我的时间维度表的属性

java - 将字符串链接到函数

C#/MEF 不适用于没有无参数构造函数的基类

android - Android-Activity和Android-Fragment的关系是什么; UML 类图中的 Activity/Fragment 和 ViewModel?

java - 部署依赖于在 Eclipse 中运行的 Tomcat 或 Jboss 的 Maven 项目