Lernstoff 2CHIF für PLF-1 2023-11-14

Im Prinzip ist der gesamte aktuelle Stoff Thema.

Hier eine provisorische Liste der wichtigsten Themen (hoffentlich nichts vergessen):

  • Vererbung Grundlagen

    • Vererbung mit Schlüsselwort extends:
      public class Schueler extends Person {…​}

    • Methoden (und Attribute) die "weiter oben" in der Vererbungshierarchie implementiert und nicht private oder package-sichtbar (ohne Sichtbarkeits-Schlüsselwort private, protected oder private) sind, können von allen erbenden Klassen mitgenutzt, aber auch spezifisch überschrieben (override) werden.

    • Polymorphie: Die richtige Methodenversion wird dynamisch zur Laufzeit festgestellt und aufgerufen

    • Konstruktoren: Erstes Statement: Aufruf Superkonstruktor sein: super(param1, param2, …​) (Falls expliziter Aufruf fehlt und in Superklasse ein Default-Konstruktor existiert, wird dieser implizit aufgerufen)

    • V.a. bei Override: ZUgriff auf implementierte Methoden der Superklasse mit super.methodName()

    • Statische Methoden, Klassenvariabeln, Konstante und Konstruktoren liegen außerhalb der Vererbungslogik!!

  • Exceptions

    • Checked und Unchecked Exceptions

    • try-catch (nicht wirklich besprochen: -finally)

    • Werfen von Exceptions

    • Deklaration möglicherweise geworfener Exceptions (v.a. für Checked Exceptions)

    • Erstellen eigener Exceptions

    • Handling von Exceptions mit catch

  • Abstrakte Klassen (Instanzierungsverbot!)

    • Deklaration mit abstract

    • Abstrakte Methoden

    • Erben von abstrakten Klassen mit abstrakten Methoden

    • Implementieren von abstrakten Methoden

  • Interfaces Interface kann enthalten:

    • Deklarationen von Methoden (wie abstrakte Methoden)

    • Deklarationen von Konstanten (wie in Klassen)

    • Implementationen von static Methoden (wie in Klassen)

    • Implementationen von default Methoden (noch nicht unterrichtet)

  • Collections

    • Basics zu Generics

    • Generic Interfaces Collection, List, Set (List, Set "extends" Collection!)

    • Wichtige Operationen Collection: add, remove, contains, size, isEmpty, clear etc.

    • Wichtige zusätzliche Methoden von List und Set

    • Maps (Sammlungen von Schlüssel-Wert-Paaren)

    • Methoden boolean equals(Object other) und int hashCode()

  • (Sortieren von Listen noch nicht unterrichtet!)