Informatik

Vertiefte Objektorientierung

Worum geht es hier?

In der Einführungsphase hast du gelernt, wie man Klassen schreibt und wie eine Unterklasse von einer Oberklasse erbt. Das waren Sprachmittel. In diesem Kapitel geht es um die Frage, die eine Stufe darüber liegt: Wie entwirft man eine Klassenhierarchie, die trägt?

Wann zieht man Gemeinsames nach oben – und wann wäre das ein Fehler? Warum darf man von manchen Klassen gar kein Objekt erzeugen? Und wieso läuft bei einem Aufruf, der überall gleich aussieht, bei jedem Objekt etwas anderes? Genau danach wird in der Qualifikationsphase gefragt, und zwar nicht nur mit „setze um", sondern mit „begründe" und „beurteile".

Für dieses Kapitel musst du …

  • eine Klasse mit Attributen, Konstruktor und Methoden schreiben können (6.1 Klassen und Objekte),
  • wissen, warum Attribute private sind (6.2 Geheimnisprinzip),
  • mit extends, super(...) und überschriebenen Methoden umgehen können (6.4 Vererbung),
  • ein Feld anlegen und durchlaufen können (5.2 Felder durchlaufen).

Die optionale Seite Im Spiel arbeitet zusätzlich mit der Grafikbibliothek Scratch for Java aus der Einführungsphase. Du musst sie nicht kennen: Auf der Seite steht ein ausklappbarer Kasten mit allem, was du dort brauchst, und nachschlagen kannst du in der Referenz.

Ob das noch sitzt, findest du im Check-in heraus. Er dauert eine Doppelstunde und sagt dir genau, welche Seite du gegebenenfalls noch einmal aufschlagen solltest.

Hier lernst du …

  • ein Implementationsdiagramm zu lesen und zu schreiben – vollständig, mit Datentypen und Sichtbarkeiten,
  • was Klassenattribute sind und wozu man sie braucht – (nur Leistungskurs) dazu Konstanten,
  • eine Vererbungshierarchie zu entwerfen und eine fremde zu beurteilen,
  • was Polymorphie ist und warum sie Fallunterscheidungen überflüssig macht,
  • wann eine Klasse abstrakt sein muss,
  • (nur Leistungskurs) wann eine Schnittstelle die bessere Wahl ist als eine Oberklasse.

So sind die Lektionen aufgebaut

Jede Lektion dieses Kapitels hat denselben Zuschnitt – so wie der Check-in:

  1. Erarbeitung – Erklärung, Merksätze und ein Programmierbereich, in dem etwas läuft, das du verändern kannst.
  2. Teil 1: Lesen – Aufgaben ohne Rechner. Der Quelltext steht als normaler Textblock da; du sagst auf Papier voraus, was passiert, und prüfst es erst danach in der Online-IDE nach. Wenn Vorhersage und Ergebnis auseinandergehen, hast du gerade das Wichtigste gelernt.
  3. Teil 2: Schreiben – Aufgaben am Rechner. Zu jeder liegen Tests bereit: Über den Reiter Testrunner siehst du selbst, ob deine Lösung stimmt.
  4. Zum Weiterdenken – Aufgaben, die niemand braucht, um weiterzukommen. Sie führen an Fragen heran, die in der Informatik echte Entwurfsfragen sind.
  5. Selbsttest – ein paar kurze Fragen über die Lektion.

Lösungen sind mit einem Passwort geschützt. Alle Passwörter stehen auf der Seite Lösungspasswörter. Sieh dort erst nach, wenn du die Aufgabe wirklich versucht und die gestuften Tipps geöffnet hast – sonst misst du nur, wie gut du abschreiben kannst.

Die Lektionen

Lektion Darum geht es
1.1 Implementationsdiagramme Ein Diagramm, aus dem sich der Quelltext ohne Rückfrage schreiben lässt
1.2 Klassenattribute und Konstanten Was zur Klasse gehört statt zum einzelnen Objekt
1.3 Generalisierung und Spezialisierung Hierarchien entwerfen – und erkennen, wann eine nicht trägt
1.4 Polymorphie Ein Aufruf, viele Wirkungen
1.5 Abstrakte Klassen Klassen, von denen es kein Objekt geben darf
1.6 Schnittstellen (LK) Eine Zusicherung ohne gemeinsame Oberklasse
1.7 Rückblick Gemischte Aufgaben über das ganze Kapitel
Im Spiel: ein Typ für alle Objekte (optional) Alles aus 1.2 bis 1.6 an einem Spiel angewandt
Vertiefte Objektorientierung

Teilbare URL erstellen

Abschnitte auswählen