IT – Objekte und Klassen

Objekte

  • jedes Objekt hat Zustand, Verhalten, Identität
  • viele Objekte gleicher Art möglich
  • daher Gruppierung in Klassen bei gleicher Datenstrutktur und gleichem Verhalten
  • Instanz einer Klasse
  • Kapselung von Zustand und Verhalten (Geheimhaltungsprinzip)
  •  Zugriff auf Attritbute ausschließlich über Methoden (s.o.)

Relationen

  •  Assoziationen
    • strukturelle Beziehungen zwischen den Objekten
    • spez. Aggregation
      • besteht-aus/ist-Teil-von-Relation
      • Bsp. Auto hat Reifen, Türen, Motor, etc.
      • Bez. Raute – leer und halbvoll
    • [Name],Leserichtung Pfeilspitze,
    • [Rolle] kann Kardinalität haben
      • 1 – genau 1
      • 0..2 – zwischen 0 und 2
      • * 0 oder mehr
      • 1,2,3,6 – 1 XOR 2 XOR 3 XOR 6
      • 1,2,6..* – 1 XOR 2 XOR min. 6
  • Spezialisierung / Generalisierung

 Klasse

  • neuer Referenztyp
  • eindeutiger Name / Identifier
  • ggfs. Oberklasse / Super
  • ggfs. Interfaces
  • Erzeugung einer neuen Instanz über new
  • kann mehrer Konstruktoren unterschiedlicher Signatur haben

Konstruktoren

  • public, protected , private
  • kein Rückgabetyp/-wert
  • expliziter Aufruf nur aus einem anderen K. über this oder super
  • Name identisch mit Klassenname
  • falls kein K. daklariert ist, wird Standardk. ohne Params verwendet

Zugriffskontrolle

+ public – für alle zugreifbar

– private – nur für eigene Klasse zugreifbar

# protected – nur für inheratiance  & package zugreifbar (Unterklassen, andere Klassen im gleichen Paket)

 Klassenattribute

  • in UML durch Unterstreichen gekennzeichnet
  • in Java durch static deklariert

IT – Grammatiken & Notationen

Chomsky-Grammatik

4-Tupel G = ( N , T , P , S )

N – endliche Menge Zeichen, Nichtterminalsymbole

T – endliche Menge Zeichen, disjunkt N, Terminalsymbole

S ∈ N – Startsymbol

P – endliche Menge Regeln der Form (p, q) ∈ ( N ∪ T ) *

 Syntaxdiagramme

N Rechteck

T langrunder Kreis

gerichtete Pfeile verbinden die einzelnen graphischen Elemente

Grundtypen:

  • Sequenz
  • Option
  • Alternative
  • Wiederholung

EBNF

erweiterte Backus Naur – Form

besteht aus:

  • einer Startregel
  • sonstigen Regeln
  • Terminal- und Nicht-Terminalsymbolen

T – nicht speziell gekennzeichnet

N – in <> eingeschlossen

P – Form: rechte Seite = linke Seite

  • linke Seite: genau ein N
  • rechte Seite: T, N, Alternativen, geklammerte Ausdrücke
  • Klammerarten:
    • ( ) Gruppierung
    • [ ] Option
    • { } n-fach (auch 0 mal)