Menu Close

Objektorientierte Analyse und Design (Vorlesung 6)

Klassen-Design

  • Substantivmethode zur Findung von Klassen, Attributen und Methoden
  • Klassen sind die Bausteine des Systems
  • Herausforderung: „Wie weiß man, wie man die Klassen „gut“ auftrennt?“
  • Beispiel: „Geld abheben“
    • Kunde ( nicht Teil des Use-Case )
    • Karte ( Klasse )
    • System ( nicht Teil des Use-Case )
    • PIN ( Attribut )
    • Betrag ( mögl. Attribut )
    • Konto ( Klasse )
    • Geld ( nicht Teil des Use-Case )

Attribute und Methoden identifizieren

  • Methode „geld_abheben ( betrag )“ definieren
  • Einzahlen und Auszahlen sind Methoden mit unterschiedlichen Vorgängen und Berechtigungsstrukturen

Vererbung

  • Subklassen verfügen über alle Eigenschaften der Superklassen
  • Überschreiben von Merkmalen ist erlaubt
  • Semantik von Operationen und Attributen dürfen nicht verändert werden
  • Werte dürfen eingeschränkt, aber nicht erweitert werden ( Platz im Speicher? )
  • Es muss eine „Ist ein“-Beziehung bestehen
    • Bsp.: „LKW ist keine Spezialisieurng von Rollstuhl
  • Beispiel: Membranpumpe-Attribute
    • Name
    • Hersteller
    • Gewicht
    • Preis
    • Ansaugdruck
    • Auslassdruck
    • Durchflussmenge
    • Membranmaterial

Notation

  • Beliebige Instanz einer Klasse „:Klasse“

Kapselung / Sichtbarkeit

  • + Public = Für Alle sichtbar
  • – Private = Für Niemanden sichtbar
  • # Protected = Nur für Unterklassen sichtbar
  • ~ Package = Nur für Klassen im gleichen Paket sichtbar

Constraints

  • Einschränkungen von Randbedingungen bei Vererbung
  • Complete ( Vollständig )
  • Incomplete ( nicht vollständig )
  • overlapping ( Ein Objekt kann mehreres sein )
  • disjoint ( Es darf nur eines sein ) 

Abstrakte Klassen

  • Kursive Namen oder „abstract“ kennzeichnen

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.

Index