OOP mit Kotlin
Struktur des Kapitels
Das Kapitel enthält mehrere Teilkapitel wie z.B. Klassen und Objekte, Klassen entwerfen oder Zugriff auf Attribute. Die Teilkapitel bauen aufeinander auf und sollten in dieser Reihenfolge bearbeitet werden. Innerhalb eines Teilkapitels existiert einheitlich folgende Struktur:
- BlueJ-Projekt: Ein einführendes Projekt vermittelt an einem einfachen Beispiel die fachlichen Inhalte des Teilkapitels. Das Projekt wird mit der Software BlueJ bearbeitet. Zu Beginn eines Projekts gibt es einen Wissensspeicher. Das ist ein PDF-Dokument, das ausgedruckt werden kann und auf dem die wichtigsten Fachinhalte zusammengefasst werden sollen. Es bietet sich an diesen parallel während der Bearbeitung oder im Anschluss an das Projekt zu bearbeiten.
- BluePlay-Projekt: Zusätzlich zum einführenden Projekt kann
optional ein vertiefendes
BluePlay-Projekt bearbeitet werden.
Dabei handelt es sich um ein grafisches Projekt, oft ein Spiel.
Hier werden die Inhalte des einführenden Projekts noch einmal
aufgegriffen.
BluePlay-Projekte bauen auf einem Mini-Framework auf, das
stark an das BlueJ-Schwesterprojekt
Greenfoot angelehnt ist.
Allerdings ist für BluePlay-Projekte keine zusätzliche Software nötig,
da es sich einfach um ein BlueJ-Projekt mit vorgegebenen Klassen handelt.
Damit ist es möglich leicht grafische Spiele und Simulationen zu programmieren.
Dadurch sind diese Projekte zwar schön bunt und ansprechend,
aber tendenziell ein klein wenig komplexer.
Außerdem kommen hier manchmal Inhalte vor, die nicht für die folgenden
Teilkapitel benötigt werden oder Inhalte, die in der Tiefe erst
später behandelt werden.
Insbesondere das Konzept der Vererbung wird hier von Anfang an benutzt - wenn auch in sehr einfacher Form.
Auch bei BluePlay-Projekten gibt es einen Wissensspeicher. In diesem können die Inhalte, die über das einführende Projekt hinausgehen, gesichert werden. - Fachkonzept-Seiten: Die fachlichen Inhalte des Teilkapitels werden hier kompakt dargestellt. Fachkonzept-Seiten enthalten keine Aufgaben, sondern sind als Referenz und Nachschlage-Seiten zu verstehen. Die fachlichen Inhalte beschränken sich meist auf die BlueJ-Projekte des Teilkapitels, nicht auf die Inhalte der optionalen BluePlay-Projekte.
- Übungs-Seite: Die fachlichen Inhalte des Teilkapitels werden hier an anderen oder vertiefenden Aufgaben geübt.
Worum geht es?
Die Objektorientierte Programmierung - kurz OOP - hat sich als sehr erfolgreiche Herangehensweise bei der Programmierung etabliert, da sie der menschlichen Denkweise entgegen kommt und man mit ihr auch große, komplexe Systeme gut entwerfen kann. Im Zentrum stehen dabei Objekte mit bestimmten Eigeschaften und Fähigkeiten.
Dass die objektorientierte Programmierung sich gut für komplexe Systeme eignet, heißt nicht, dass OOP nur bei komplexen Systemen sinnvoll ist. Dieses Kapitel ist als Einstieg in die Programmierung konzipiert. Es sind keinerlei Programmiererfahrungen notwendig.
Um objektorientiert zu programmieren, kann man verschiedene Programmiersprachen verwenden wie z.B. Java, C++, Python oder Kotlin. Alle diese Sprachen unterstützen die objektorientierte Programmierung und sind sehr verbreitet. In diesem Kapitel verwenden wir die Programmiersprache Kotlin, da sie eine moderne, einfach zu erlernende Sprache ist, die sich gut eignet, um die Konzepte der objektorientierten Programmierung sauber und verständlich zu vermitteln. Kotlin lässt sich aber auch nicht-objektorientiert verwenden, so dass du Kotlin auch in anderen Kontexten gut einsetzen kannst.
Kotlin wird auch in der professionellen Softwareentwicklung immer beliebter, z.B. bei der Entwicklung von Android-Apps und wird oft auch als modernes Java bezeichnet. Seit 2019 ist Kotlin die von Google empfohlene Programmiersprache für die Entwicklung von Android-Apps.
Damit ist Kotlin eine Sprache, die sich sowohl für Einsteiger als auch für professionelle Softwareentwicklung eignet.
Software-Installation
Um Kotlin-Programme zu schreiben, benötigen wir entsprechende Software.
Wir werden die Entwicklungsumgebung BlueJ benutzen.
Standardinstallation
Es gibt mehrere Arten, auf die man BlueJ installieren kann. Die einfachste und in den meisten Fällen beste Variante ist es, die vollständigen Installationspakete herunterzuladen. Man muss dazu nur die für das jeweilige Betriebssystem empfohlene Datei herunterladen und wie üblich durch Doppelklick installieren.
Portable Installation
Alternativ kannst Du auch eine portable Version herunterladen, die Du nur entpacken musst. Das kann z.B. sinnvoll sein, wenn Du nicht die Rechte hast, Software auf Deinem Rechner zu installieren. Damit hast du allerdings den Nachteil, dass sich Projekte wegen der fehlenden Verknüpfungen nicht per Doppelklick öffnen lassen. Die portable Version ist auf den Downloadseiten als "Standalone Version" bezeichnet.Hinweise zur benutzten BlueJ-Version
BlueJ wurde ursprünglich für die Programmiersprache Java entwickelt. Die Kotlin-Unterstützung ist in einem frühen Stadium und es gibt noch einige Einschränkungen. Eine der Einschränkungen ist, dass aktuell nur Englisch als Sprache unterstützt wird. Du musst deshalb die Sprache von BlueJ auf Englisch umstellen und BlueJ neu starten. Wie das geht, siehst du in diesem Screencast:
Weitere Einschränkungen sind aktuell unter anderem noch:
- Im Codepad kann nur Java-Syntax verwendet werden.
- Interaktive Aufrufe funktionieren, zeigen aber die Java-Syntax an.
- Der Objektinspektor zeigt eine an Java-orientierte Ansicht.