Benutzer-Werkzeuge

Webseiten-Werkzeuge


schule:klassendiagramm

Dies ist eine alte Version des Dokuments!


UML-Klassendiagramm

Häufig stellt man fest, dass es Objekte gibt, die sich in ihren Eigenschaften oder Verhalten (Attributen oder Methoden) ähneln. Diese Gemeinsamkeiten werden in Klassen zusammengefasst. Neben Eigenschaften bzw. Attributen habe Klassen Methoden, die aufgerufen werden können und ihr Verhalten bestimmen. Alle Objekte einer Klasse haben den gleichen Aufbau und verhalten sich ähnlich. Man kann sie übersichtlich in Klassendiagrammen darstellen.

Aufbau und Zweck

  • Warum? Um Übersicht über ein komplexes Programm zu erhalten.
  • Für jede Klasse wird ein Kasten gezeichnet.
  • Der Kasten hat drei Bereiche:
    1. oben steht der Klassenname
    2. in der Mitte stehen die Attribute
    3. unten stehen die Methoden
  • Rückgabewerte von Methoden und Datentypen von Attributen und Parametern stehen am Ende und sind durch einen Doppelpunkt getrennt.
  • Sichtbarkeiten public/private/protected werden durch +/-/# abgekürzt.
  • Beziehungen zwischen Klassen lassen sich darstellen: „besteht aus“, „erbt von“

Klassen in Quelltext

Klassen werden in Python mit dem Schlüsselwort class beschrieben. Attribute werden im Konstruktor __init__(self) mit self an die erzeugte Instanz gebunden. Methoden haben einen Namen (häufig ein Verb), ggf. Parameter und ggf. einen Rückgabewert.

class Person:
 
    def __init__(self):
        self.name = ""
        self.alter = 0
 
    def erfrage_Name(self):
        return self.name
 
    def erfrage_Alter():
        return self.alter
 
    def alter_Festlegen(self, neues_Alter):
        self.alter = neues_Alter
 
    def laufen():
        # ...
        pass
 
    def essen(self, nahrungsMittel):
        nahrungsmittel.aufessen()

Kapitel 8: Objektorientierte Programmierung in dem Buch Raspberry Pi programmieren mit Python beschreibt, wie die Objekt-Orientierte Programmierung in Python realisiert wurde.

Klassen werden in C# mit dem Schlüsselwort class beschrieben. Attribute werden zu Beginn gelistet und haben einen Typ gefolgt von einem Namen. Methoden haben einen Namen (häufig ein Verb), ggf. Parameter und einen Rückgabewert (void, falls es keinen gibt).

class Person
{
  string name;
  int alter;
 
  public string erfrageName()
  {
    return name;
  }
 
  public int erfrageAlter()
  {
    return alter;
  }
 
  public void alterFestlegen(int neuesAlter)
  {
    alter = neuesAlter;
  }
 
  public void laufen()
  {
    // ...
  }
  public void essen(Nahrung nahrungsMittel)
  {
    nahrungsmittel.aufessen();
  }
}

Klassendiagramme in Visual Studio

Visual Studio unterstützt den Entwickler, da es Klassendiagramme nahtlos in die Entwicklungsumgebung integriert.

Klassendiagramme für Python

Verschiedene IDEs wie etwa PyCharm ermöglichen es, Klassendiagramme direkt aus dem Quelltext generieren zu lassen. Für Dokumentationszwecke ist das sinnvoll, für die Planung hingegen nicht, da zu diesem Zeitpunkt ja noch kein Quelltext existiert.

Mit dem Programm pyreverse können Klassendiagramm aus Python-Quelltext automatisch erstellt werden. Es ist Bestandteil des größeren Paketes Pylint, das den Quelltext analysieren und auf Fehler hinweisen kann.

Ein Klassendiagramm wird mit dem folgenden Aufruf erstellt

pyreverse -o png -f ALL quelltext.py

Die Option -o gibt das Ausgabeformat und -f einen Filter an (ALL zeigt alle Zugriffsebenen: private, public und protected). Leider ermittelt das Programm keine Rückgabewerte und zeigt auch keine Parameter von Methoden an.

Klassendiagramme in IHK-Prüfungen

Klassendiagramme kommen häufig in IHK-Prüfungen vor. So z.B. in 2015, Winter, Handlungsschritt 2.

schule/klassendiagramm.1577190989.txt.gz · Zuletzt geändert: 2019-12-24 13:36 von marco.bakera