Konzepte des Objektorientierten Programmierens

nach: Barnes, Kölling: Java lernen mit BlueJ: Eine Einführung in die objektorientierte Programmierung, Pearson

Objekte und Klassen

  1. Java-Objekte modellieren reale Objekte
    • Zustand
  2. Objekte werden durch Klassen erzeugt
  3. Kommunizieren durch Methodenaufruf
    • Signatur
  4. Informationsübergabe durch Parameter
    • Datentyp

Klassendefinitionen

  1. Instanzvariablen halten Daten
  2. Kommentare sind für den Menschen
  3. Konstruktoren setzen in einen gültigen Zustand
  4. Sichtbarkeit und Lebensdauer von Variablen
    • lokale Variable
    • auch: Datenkapselung
  5. Wertänderung durch Zuweisung
  6. Sondierende und Verändernde Methoden
    • Kopf (Signatur), Rumpf

Objektinteraktion

  1. Abstraktion: Ein Beispiel der Klasse Pferd! Fähigkeiten und Attribute eines Pferds sind in echt sehr komplex, müssen in unserer Klasse jedoch auf Größe, Farbe, auf Laufen und Wiehern reduziert werden. Die objektorientierte Programmierung erleichert eine möglichst natürliche Abbildung der realen Welt. Wenn man diese nun auf grundlegende Dinge reduziert lässt sich ein Programm schneller entwickeln, es wird „billiger“ und „schlanker“ = weniger Speicherplatz.
    Um dies zu erreichen, ist es notwendig, die komplizierten Objekte und deren Beziehungen so weit es geht zu vereinfachen. Der Fachbegriff für diese Technik nennt sich demzufolge auch Abstraktion.
    Zusammengefasst : Durch Abstraktion erhält man das Wesentliche einer Klasse.
    Abstraktion ist die Fähigkeit, Details von Bestandteilen zu ignoriere, um den Fokus der Betrachtung auf eine höhere Ebene lenken zu können.
  2. Modularisierung
  3. Klassen definieren Typen
  4. Beziehungen im Klassendiagramm
  5. Zustand im Objektdiagramm
  6. Methodenaufrufe: intern und extern
  7. Debugger zur Fehlersuche

Objektsammlung

schule/if/ef/konzepte.txt · Zuletzt geändert: 2018/05/31 18:19 (Externe Bearbeitung)
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0