【问题标题】:UML class diagram association implemented in Java classes在 Java 类中实现的 UML 类图关联
【发布时间】:2013-10-26 12:30:18
【问题描述】:

我有以下 UML 类关联想控制我是对还是错(这里不需要方法):

编号 1:

import java.util.*;


public  class Dictionary {

    private DictEntry[] entry;

   ArrayList<DictEntry> book = new ArrayList<DictEntry>();

   public Dictionary(){
       entry = new DictEntry[3];
       entry[0] = new DictEntry("Abc");
       entry[1] = new DictEntry("Def");
       entry[2] = new DictEntry("Ghi");

       book.add(new DictEntry("Bla"));
       book.add(new DictEntry("Blub"));
       book.add(new DictEntry("Bli"));
   }

}

public class DictEntry{

    private String entry;

    public DictEntry(String entry) {
        this.entry = entry;

    }

}

第一张图和第三张图是一样的!

如果我在这里,我的问题是聚合和组合,如果我不在,我可以添加什么?

聚合:

public  class Dictionary {

    private DictEntry entry;


}


public class DictEntry{



}

组成:

import java.util.*;


public  class Dictionary {

    private DictEntry[] entry;


}

DictEntry:

public class DictEntry{
}

我唯一的问题是,如果我有第一个图表,第二个图表如何,在我的实现中字典的方向不清楚。

【问题讨论】:

    标签: java associations uml diagram class-diagram


    【解决方案1】:

    你搞错了伙计,No1。第一个联想是这样的

    public  class Dictionary {
    private DictEntry d0,d1,d2;
    }
    public class DictEntry{}
    

    第二个是这样的

    private DictEntry d0,d1,d2;
    }
    public class DictEntry{
    private Dictionary owner;
    }
    

    第三个。当Dictionary 有来自DicEntry 类的(n)个引用时使用一个,但大小未知,当Dictionary 有点抽象定义时,它很有用。

    第4个。当Dictionary 有点像DicEntry 的容器时使用一个(聚合),但使用Dictionary 对象终结(kill),托管的DicEntry 对象将继续它们的生命(保持持久)

    public  class Dictionary {
    private List<DicEntry> dics;//with Dictionary termination, dics instance would be kept alive
    }
    public class DictEntry{}
    

    最后一个就像第四个。一个有所不同,这是当 Dictionary 最终确定时,这将导致最终确定托管对象 DicEntry

    我真的无法用代码显示聚合/组合,但该图告诉开发人员托管对象在主机类终止后是否可用。

    【讨论】:

    • 好的。因此,如果我将 Dictionary 类 Abstract 设置为与第一个具有相同的属性,我可以实现第三个,对吗?我在另一个问题中有一个反身类图,如果你能看看错误在哪里,那就太好了。非常感谢你现在和之前所做的一切:)
    • 您对聚合的定义是错误的。 3号左右。一,正如我所说,该图告诉开发人员Dictionary 将有 0->n 个DicEntry 类,但实际(确切)定义将由第二个定义。继承类,不需要将Dictionary抽象化。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-07
    • 2016-08-02
    • 2013-09-04
    • 1970-01-01
    • 2018-08-24
    相关资源
    最近更新 更多