web-dev-qa-db-fra.com

Diagramme de classe UML, comment afficher un thread d'extension de classe?

J'ai une classe appelée ServerSide dans laquelle réside une autre classe appelée Cserver. Le fragment de code suivant devrait expliquer de quoi je parle:

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);
    }

Je veux faire un diagramme de classes en UML qui montre la relation entre les deux classes, car je ne sais pas comment cela peut être dessiné en UML. Sera-ce une association? Merci

12
CurryMaster

Ce serait le schéma, c'est une relation d'héritage (IS-A):

enter image description here

24
Angular University

La signification de cette relation est: "la classe cserver est une classe Thread, mais la classe Thread n'est pas une classe cserver."

inheritance

Je vous recommande d'utiliser CServer comme nom de classe, vérifiez ces Java: http://en.wikipedia.org/wiki/Naming_convention_ (programmation) #Java

5
carlosvin

Il s'agit d'un héritage: http://www.teach-ict.com/as_as_computing/ocr/H447/F453/3_3_6/uml/miniweb/pg6.htm

Dans Java étend définit explicitement le IS-A relation.

3
aljipa