Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wie Events im Klassendiagramm darstellen? (https://www.delphipraxis.net/71261-wie-events-im-klassendiagramm-darstellen.html)

McMorton 12. Jun 2006 08:17


Wie Events im Klassendiagramm darstellen?
 
Hallo.

Ich bin gerade dabei für mein Projekt ein Klassendiagramm zu erstellen.
Dazu habe ich eine Frage: Wie stellt man Events im Klassendiagramm da?

Folgende Situation:
Ich habe eine Klasse TTest, welche von TObject abgeleitet ist, diese kann Events vom Typ TErrorEvent werfen.
Stellt man diese "Eventklassen" im Diagramm irgentwie da? Oder zeichnet man nur die Hauptklasse, und gibt die Events dort als Property an?

Die Klassendeklaration sieht folgendermaßen aus:
Delphi-Quellcode:
unit unTest

interface

uses
  Windows, Messages, SysUtils, Variants, Classes;

type
  //Event
  TErrorEvent = procedure(Sender: TObject; aMessage: String) of object;

  //Hauptklasse
  TTest = class(TObject)
  private
    FZahl: Integer;
    FOnError: TErrorEvent;
    procedure SetZahl(Zahl: Integer);
  published
    Property neueZahl: Integer read FZahl write SetZahl;
    Property OnError: TErrorEvent read FOnError write FOnError;
  end;

marabu 12. Jun 2006 10:45

Re: Wie Events im Klassendiagramm darstellen?
 
Hallo.

Für die Ereignisse kannst du im Klassendiagramm einen zusätzlichen Abschnitt anhängen.

Code:
+----------------------+
|        TTest        |
+----------------------+
|      Attribute      |
| NeueZahl: Integer   |
+----------------------+
|      Ereignisse     |
| OnError: TErrorEvent |
+----------------------+
Grüße vom marabu

McMorton 12. Jun 2006 12:06

Re: Wie Events im Klassendiagramm darstellen?
 
Hört sich sinnvoll an.

Ich dachte ich müßte das so machen (da das Event ja eigentlich eine Klasse ist):

Delphi-Quellcode:
+----------------------+      +----------------------+
|        TTest        |      |     TErrorEvent     | 
+----------------------+ ---- +----------------------+
|      Attribute      |      |                      |
| NeueZahl: Integer   |      +----------------------+ 
| OnError: TErrorEvent |
+----------------------+
Aber die Events als seperate Spalte darzustellen hört sich besser an.
Danke.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz