19 Polymorphie

Eigentlich haben wir Polymorphie schon in vielen anderen Beispielen verwendet, ohne etwas davon mitzubekommen. In dieser Lektion werden wir uns aber noch einmal bewusst damit auseinander setzen. Definition Polymorphie bedeutet Vielgestaltigkeit und besagt in ihrem einfachsten Fall, dass Funktionen nach außen hin gleich aussehen (die gleiche Signatur haben), aber unterschiedliches Verhalten implementieren. Dynamisches Binden Am…

18 Übung : Sortieralgorithmen

Sortieralgorithmen sind in der Informatiker-Ausbildung sehr beliebt. Wir werden in der zugehörigen Übung Arrays mit verschiedenen Sortieralgorithmen sortieren. Darunter BubbleSort und SelectionSort. Es gibt aber noch viel mehr solcher Algorithmen. Algorithmen allgemein Verfahren mit einer endlichen
 Beschreibung unter Verwendung wohldefinierter Einzelanweisungen. Beachten Sie, dass die Beschreibung endlich sein muss, nicht die Laufzeit/Ausführung. Ein wohldefinierter Einzelschritt…

Verwendung der Kamera

Um Spiele oder Anwendungen zu gestalten, deren bespielbare Welt über ein einziges Fenster hinaus geht, kann man eine Kamera verwenden. Hierzu muss bei der Engine ein CameraController registriert werden. Dies muss zwingend erfolgen, nachdem der View aufgebaut wurde: viewDidLoad { // Wir erzeugen einen CameraController, der die Standard-Kamera der Engine verwendet. val cameraController = MeinCameraController(engine.camera)…

17 Arrays im Detail

Definition Ein Array ist eine indizierte Datenstruktur. In einem Array speichert man gleichartige Daten, auf die man mit Hilfe des Index schnell und effizient zugreifen kann. Die Länge eines Arrays (also die Anzahl der Daten, die gespeichert werden soll), muss bereits bei der Initialisierung des Arrays bekannt sein und kann im Nachhinein nicht mehr geändert…

16 Übung: Nullable Types

Wie in Kapitel 14 festgestellt, können in der Praxis auch sog. null-Referenzen auftreten. Also Referenzen auf dem Stack, die auf kein Objekt auf dem Heap zeigen. Man kann den Compiler konkret anweisen, null-Referenzen zuzulassen, indem man sog. nullable-Datentypen verwendet. Das geht sehr leicht. Bei der Deklaration eines Wertes ergänzt man den Datentyp einfach mit einem…

15 Übung: Zustände und Zustandsübergänge

Wie wir bereits wissen, besitzen Objekte einen Zustand und ein Verhalten. Der Zustand wird durch die Properties beschrieben und das Verhalten durch die Funktionen. Der Zustand eines Objekts kann verändert werden. Solche Zustandsübergänge wollen wir am Beispiel einer Ampel erst selbst implementierung und in einem grafischen Modell erfassen. Hierbei lernen wir Zustandsübergangsdiagramme und Sequenzdiagramme kennen.…