s n e h m r u

Minimallogo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

s n e h m r u
i

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:

  • Einstiegsprojekt: Ein einführendes Projekt vermittelt an einem einfachen Beispiel die fachlichen Inhalte des Teilkapitels. 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 verwenden die BluePlay-Bibliothek mit Klassen und Funktionen für grafische Spiele. Die Projekte orientieren sich in ihrer Bedienung stark an Greenfoot. Die Projekte sind ebenfalls in der Online-Umgebung BlueK bearbeitbar. BluePlay-Projekte sind 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.
    Teilweise gibt es auch bei BluePlay-Projekten 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 Einstiegsprojekte 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?

Kotlin

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. Programmierumgebung BlueK 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.
Sobald du also auf diese Einschränkungen stößt, musst du auf BlueJ wechseln. Innerhalb dieses Kapitels wird dies nicht notwendig sein. BlueK und BlueJ sind von der Bedienung sehr ähnlich, so dass du dich bei Bedarf schnell zurechtfinden wirst.

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.

Suche

v
100.123 OOP mit Kotlin
Kopieren durch Anklicken

Rückmeldung geben