UML Klassendiagramm
UML Unified Modeling Language
- Eine adäquate Darstellungsmethode, mit der sich Entwürfe für objektorientierte Programme veranschaulichen lassen, ist die Unified Modelling Language (UML).
- Gemeinsam ist den Diagrammen, dass sie nicht ein komplettes Programm in allen Details darstellen müssen, sondern auch Teile, die für die aktuelle Betrachtung irrelevant sind weggelassen werden können.
- Wir wollen zunächst das UML Klassendiagramm kennenlernen.
- Mit ihm läßt sich darstellen, welche Methoden und Attribute einer Klasse angehören.
- Aber auch Verwandtschaftsbeziehungen zwischen Klassen lassen sich damit darstellen.
|
UML Klassendiagramm
- Bei der Darstellung einer Klasse in UML ist es erlaubt, den Kasten mit den Attributen, oder den mit den Methoden wegzulassen.
- Die Übergabeparameter der Methoden, sowie Typen der Übergabe- und Rückgabeparameter können, müssen aber nicht mit angegeben werden.
- Das gleiche gilt für die Typen der Attribute.
- Die Bedeutung des Schlüsselwortes protcted wird noch im Verlauf des Kurses geklärt werden.
- Es liegt zwischen private und public und grenzt den Zugriffsbereich bei Vererbung auf abgeleitete Klassen ein.
- Statische Methoden (Schlüsselwort static) werden wir in diesem Kapitel noch in Form von Konstruktoren kennenlernen.
|
Bild 0-1: UML Klassendiagramm allgemein.
UML Klassendiagramm - Beispiel
- Hier ist erneut die Klasse zur Beschreibung von Zylinder-Objekten von Kapitel 3.1:
|
class Zylinder
{
private:
double radius;
double hoehe;
public:
double berechneVolumen()
{
return MEINPI*radius*radius*hoehe;
}
void setzeRadius(double r)
{
radius = r;
}
void setzeHoehe(double h)
{
hoehe = h;
}
};
Code 0-1: Klasse Zylinder
Bild 0-2: UML Klassendiagramm zur obigen Zylinder-Klasse.
Syntax-Vergleich C++ / UML
Beschreibung |
Syntax C++ |
Syntax UML |
Klassenname |
class Zylinder |
Zylinder |
Nach außen verborgene Elemente |
private: (Elemente im nachfolgenden Block) |
- (vor einzelnem Element) |
Von außen lesbare und änderbare Elemente |
public: (Elemente im nachfolgenden Block) |
+ (vor einzelnem Element) |
Datentypen von Attributen |
double radius; |
radius : double |
Methode mit Rückgabewert |
double berechneVolument(); |
berechneVolumen() : double |
Methode mit Übergabeparameter |
setzeRadius(double radius); |
setzeRadius(radius : double) |
Tabelle 0-1: Syntax-Vergleich C++ / UML