OOP mit Kotlin
Worum geht es?
Die objektorientierte Programmierung - kurz OOP - hat sich als sehr erfolgreiche Herangehensweise bei der Programmierung etabliert, da sie der menschlichen Denkweise entgegenkommt und man mit ihr auch große, komplexe Systeme gut entwerfen kann. Im Zentrum stehen dabei Objekte mit bestimmten Eigenschaften 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.
Programmieren mit BlueK
Für dieses Kapitel verwenden wir BlueK, das du unter
bluek.online öffnen kannst.
BlueK ist eine Online-Programmierumgebung, die stark an die bekannte
Entwicklungsumgebung BlueJ angelehnt ist.
Beide unterstützen Kotlin als Programmiersprache.
Während BlueK ausschließlich für Kotlin entwickelt wurde und direkt im Browser
läuft,
wurde BlueJ ursprünglich für Java entwickelt und muss auf dem eigenen
Rechner installiert werden.
Beide Werkzeuge haben ihre Stärken und Schwächen.
Vorteile und Stärken von BlueK
- Es ist keine Installation nötig, da die Software direkt im Browser läuft.
- Die Bedienung im Browser ermöglicht auch die Nutzung von Tablets. Externe Tastatur und Maus sind aber sehr empfehlenswert.
- Projekte können direkt als Links gespeichert und geteilt werden.
- BlueK kann bei Bedarf auch heruntergeladen und lokal ohne einen Server benutzt werden. Dies kann z.B. sinnvoll sein, wenn du BlueK auf einem Rechner ohne Internetzugang verwenden möchtest.
- BlueK kann Projekte für die Nutzung in BlueJ exportieren und Projekte aus BlueJ importieren.
Grenzen von BlueK
- BlueK nutzt nicht den offiziellen Kotlin-Compiler und unterstützt deshalb nicht alle Details der Sprache Kotlin. Im schulischen Kontext sollten diese Einschränkungen aber keine Rolle spielen.
- Als Browseranwendung ist BlueK in seinen Möglichkeiten eingeschränkt. So kann es z.B. keine Dateien auf dem eigenen Rechner verarbeiten, Netzwerkprogrammierung ermöglichen oder auf beliebige Bibliotheken zugreifen.
BlueJ als Alternative
BlueJ (ab Version 6) unterstützt Kotlin zusätzlich zu Java. Prinzipiell können die Projekte aus diesem Kapitel also auch in BlueJ bearbeitet werden. In den meisten Fällen ist aber BlueK für dieses Kapitel die bessere Wahl. Möchtest du außerhalb der Inhalte dieses Kapitels auch andere Kotlin-Projekte bearbeiten, kann die Verwendung von BlueJ notwendig sein.
Vorteile und Stärken von BlueJ
- BlueJ nutzt den offiziellen Kotlin-Compiler und unterstützt deshalb alle Details der Sprache.
- BlueJ ist eine Desktop-Anwendung, die auf dem eigenen Rechner installiert werden muss. Du hast damit Zugriff auf das gesamte JVM-Ökosystem, z.B. auf die Java- und Kotlin-Bibliotheken. Außerdem bist du nicht auf die Möglichkeiten einer Browseranwendung beschränkt und kannst z.B. auch Dateien auf dem eigenen Rechner verarbeiten oder Netzwerkprogrammierung betreiben.
Grenzen von BlueJ
- BlueJ muss installiert werden und kann deshalb nicht auf Tablets verwendet werden.
- Der Objektinspektor ist nicht auf Kotlin optimiert und ermöglicht beispielsweise nicht das interaktive Verändern von Attributen.
- Das Codepad kann - zumindest laut aktuellem Entwicklungsstand von BlueJ - keine Kotlin-Befehle ausführen.
- An einigen Stellen ist die Bedienung und die Anzeige - zumindest in der aktuellen Version von BlueJ - nicht optimal, weil Java-Syntax anstelle der Kotlin-Syntax verwendet wird.