GoConqr hat ein neues Design! Sag uns, wie es dir gefällt.

Karteikarten

Guter Code in Java

Gelöschter Nutzer Der Nutzer hat seine Fachbereichs-Information gelöscht. Englisch 7 Karten

Karten in diesem Stapel (7)

  1. 1KompositionKlassen mit anderen Klassen aufgebaut:
    Eine Klasse enthält eine andere Klasse als Eigenschaft
    Dadurch können wie gewünscht Klassen untereinander verbunden werden
    Die Funktionen oder Methoden beider Klassen können dabei gebunden aufgerufen werden
  2. 2Unterschied zur Vererbung(Komposition)Durch dieses Prinzip werden Klassen entkoppelt, was zu flexibleren und stabileren Entwürfen führt. So ist es möglich, zur Laufzeit das Verhalten einer Klasse zu verändern
    Die Objekte der zwei Klassen müssen existieren und können dann z.B. mit Hilfe eines Konstruktors verbunden werden
  3. 3VererbungIn Java mit dem Schlüsselwort “extends” verwendet
    Alle Funktionen der Oberklasse werden in der Unterklasse aufrufbar
    Bei der Vererbung muss nicht unbedingt ein Objekt der Oberklasse instanziert werden
    Unterschied zur Komposition:
    Die Klassen werden direkt verbunden
  4. 4Vorteile von SchnittstellenWas beheben Schnittstellen? -> Einfachvererbung
    Eine Klasse auf einer Ebene kann nicht von mehreren Typen erben (Java)
    Eine Klasse kann neben ihrer Oberklasse mit Schnittstellen mehrere Typen sammeln
    Schnittstellen sagen etwas über das Was aus und die konkrete Implementierung sagt etwas über das wie
    Im objektorientierten soll das was vom wie getrennt bleiben
    Wodurch wir die Möglichkeit haben eine Funktionalität zu verwenden ohne uns mit Implementierungs-Details beschäftigen zu müssen.
  5. 5Vorteile von abstrakten DatentypenADT(Abkürzung) abstrahieren von Implementierung
    Speichern und Verwalten der Daten
    unabhängig vom Inhalt
    Softwaremodul mit Operationen(op1,.., opn) als Schnittstelle
    Man verwendet einen ADT, ohne zu wissen, wie er intern realisiert ist (Geheimnisprinzip) ausschließlich über dessen Schnittstelle(Kapselung). Insbesondere sind die eigentlichen Datenelemente (i.d.R.) nicht direkt zugänglich.
    Die Funktionalität muss daher unabhängig von der internen Realisierung spezifiziert sein.
  6. 6Überflüssigen Code eliminieren?Log Funktionen?
    Kommentierungen reduzieren
    Leerzeilen reduzieren -> dienlich der Übersicht?
  7. 7Wie lässt sich eine Vererbung durch Komposition ersetzen?Um dieses Entwurfsprinzip anzuwenden, werden Algorithmen, die in einer Klasse Verwendung finden können, als separate Klassen entworfen, die vorzüglich von Schnittstellen abgeleitet sind. Die Klassen, die eventuell einen dieser Algorithmen ausführen sollen, beinhalten eine Membervariable des Typs der gemeinsamen Schnittstelle, der (auch zur Laufzeit) einer dieser Algorithmen zugewiesen werden kann. Auf diese Art und Weise sind die Klassen von den Algorithmen und deren Details getrennt – weitere Entwicklungen und Änderungen an den Algorithmenklassen haben kaum Einfluss auf die Klasse, was unnötige Anpassungen hinfällig macht. Dadurch wird der Code nicht verändert, was wiederum ein anderes Entwurfsprinzip, das Open-Closed-Prinzip, befürwortet.

Informationen

Beschreibung
Der Nutzer hat seine Fachbereichs-Information gelöscht. Karteikarten am Guter Code in Java, erstellt von Gelöschter Nutzer am 27/09/2018.
Erstellt von
Gelöschter Nutzer · Sep 2018
Aktualisiert
27 Sep 2018
Aufrufe
15
Verlauf
  • Erstellt von Joel Weih · 26 Sep 2018
  • Kopiert von Joel Weih · 27 Sep 2018
Bewertung

Feedback

Worum geht es?

Wie gefällt dir das neue Design?

Dein Eindruck