【问题标题】:UML Class diagram, how to show a Class extends thread?UML 类图,如何显示一个类扩展线程?
【发布时间】:2014-04-19 11:50:58
【问题描述】:

我有一个名为 ServerSide 的类,其中驻留了另一个名为 Cserver 的类。下面的代码片段应该解释我在说什么:

public static void main (String [] args) throws Exception 
{
    System.out.println("The server is running.");
    int clientnumber = 1;
    ServerSocket server = new ServerSocket(9090);
    try
    {
        while (true)
        {
            new cserver(server.accept(), clientnumber++).start();

        }

    }finally
    {
        server.close();
    }

}

private static class cserver extends Thread
{
    private Socket socket;
    private int clientnumber;
    private ConnectionHandler c_handler;
    private Protocol protocol;

    public cserver(Socket socket, int clientnumber)
    {
        this.socket = socket;
        this.clientnumber = clientnumber;
          log("New connection with Client: " + clientnumber + " at " + socket);
    }

我想在 UML 中制作一个显示两个类之间关系的类图,因为我不确定如何在 UML 中绘制它。会是协会吗? 谢谢

【问题讨论】:

    标签: java uml relationship class-diagram


    【解决方案1】:

    这将是图表,它是一个继承关系(IS-A):

    【讨论】:

    • 不需要泛化的名称Extends。不过也没有错。
    【解决方案2】:

    这种关系的意思是:“cserver 类是 Thread 类,但 Thread 类不是 cserver 类。”

    我建议您使用 CServer 作为类名,检查这些 Java 命名约定:http://en.wikipedia.org/wiki/Naming_convention_(programming)#Java

    【讨论】:

      【解决方案3】:

      这是继承:http://www.teach-ict.com/as_as_computing/ocr/H447/F453/3_3_6/uml/miniweb/pg6.htm

      在 Java 中 extends 明确定义了 IS-A 关系。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多