Dieses Buch erklärt das Konzept "Objektbasierung" als wesentlichen Teil der "Objektorientierung" und erläutert, warum Go eine Programmiersprache ist, die dieses Konzept optimal unterstützt. Anhand wesentlicher Teile des Mikrouniversums, einer großen Sammlung von Softwarekomponenten (mit Quellcode im Umfang von mehr als 53000 Programmzeilen), werden viele wichtige Datentypen mit ihren Algorithmen beschrieben.
Im praktischen Teil werden diverse Programmpakete präsentiert, die nach diesem Konzept konstruiert sind.
Author(s): Christian Maurer
Edition: 2. Auflage
Publisher: Springer Vieweg
Year: 2023
Language: German
Pages: 361
Vorwort
Inhaltsverzeichnis
Abbildungsverzeichnis
Teil I Die Umsetzung objektbasierter Programmierung mit Go
1 Grundzüge objektbasierter Entwicklung
1.1 Der Programmlebenszyklus
1.1.1 Systemanalyse
1.1.2 Systemarchitektur
1.1.3 Benutzerhandbuch
1.1.4 Konstruktion
1.2 Vorteile einer objektbasierten Systemarchitektur
1.2.1 Zur Spezifikation
1.2.2 Zur Implementierung
2 Aspekte von Go
2.1 Zur Installation von Go
2.2 Pakete in Go
2.2.1 Programmpakete
2.2.2 Bibliothekspakete
2.2.3 Pakete nur als Interfaces
2.2.4 Schachtelung von Paketen
2.2.5 Initialisierung von Paketen
2.3 Variable konkreter Datentypen
2.3.1 Verweise und Parameter
2.4 Variable abstrakter Datentypen = Objekte
2.5 Wert- versus Referenzsemantik
2.5.1 Zuweisungen, Anlage von Kopien
2.5.2 Prüfung auf Gleichheit und Größenvergleich
2.5.3 Serialisierung
3 Das Mikrouniversum
3.1 Installation des Mikrouniversums
3.1.1 Voraussetzungen
3.1.2 Lizenzbedingungen
3.1.3 Namensgebung im Mikrouniversum
3.2 Der Konstruktor New
3.3 Das Paket Object
3.3.1 Equaler
3.3.2 Comparer
3.3.3 Clearer
3.3.4 Coder
3.3.5 Das Interface des Pakets obj
3.3.6 Stringer
3.3.7 Formatter
3.3.8 Valuator
3.4 Ein- und Ausgabe
3.4.1 Pakete für den Bildschirm
3.4.2 Bildschirm
3.4.3 Tastatur
3.4.4 Editor
3.4.5 Ein-/Ausgabefelder
3.4.6 Fehlermeldungen und Hinweise
3.4.7 Printer
3.4.8 Auswahlen
3.4.9 Menüs
3.5 Kollektionen von Objekten
3.5.1 Collector
3.5.2 Seeker
3.5.3 Predicator
3.5.4 Folgen
3.5.5 Kellerspeicher
3.5.6 Puffer (Warteschlangen)
3.5.7 Prioritätsschlangen
3.5.8 Mengen
3.5.9 Persistente Folgen (sequentielle Dateien)
3.5.10 Persistente Indexmengen
3.5.11 Graphen
3.6 Weitere Datentypen aus dem Mikrouniversum
Teil II Die Projekte
4 Allgemeines
4.1 Lehrprojekte
4.1.1 Systemanalyse
4.1.2 Systemarchitektur
4.1.3 Benutzerhandbuch
4.1.4 Konstruktion
5 Robi, der Roboter
5.1 Systemanalyse
5.2 Die Robisprache
5.3 Systemarchitektur
5.4 Benutzerhandbuch
5.4.1 Der Robieditor
5.4.2 Das Robi-Protokoll
5.4.3 Robi-Sokoban
5.4.4 Roboterrennen
5.4.5 Allgemeine Vorgehensweise
5.5 Konstruktion
5.6 Aufgaben
5.6.1 Musterlösungen
6 Der Terminkalender
6.1 Systemanalyse
6.1.1 Kalenderblätter
6.1.2 Tagesattribute
6.1.3 Terminfolgen und Termine
6.1.4 Jahreskalender
6.1.5 Monats- und Wochenkalender
6.1.6 Terminkalender
6.1.7 Suche nach Terminen
6.2 Systemarchitektur
6.2.1 Die Objekte des Systems
6.2.2 Komponentenhierarchie
6.3 Benutzerhandbuch
6.3.1 Formate
6.3.2 Systembedienung
6.4 Konstruktion
6.4.1 Terminattribute
6.4.2 Stichworte
6.4.3 Termine
6.4.4 Terminfolgen
6.4.5 Persistente Mengen von Kalenderdaten
6.4.6 Tagesattribute
6.4.7 Kalenderblätter
6.4.8 Terminkalender
7 Das Spiel des Lebens
7.1 Systemanalyse
7.1.1 Game of Life
7.1.2 Das Öko-System aus Füchsen, Hasen und Pflanzen
7.2 Systemarchitektur
7.2.1 Die Objekte des Systems
7.2.2 Komponentenhierarchie
7.3 Benutzerhandbuch
7.3.1 Bedienung des Programms
7.4 Konstruktion
7.4.1 Spezifikationen
7.4.2 Implementierungen
8 Die Go-Registermaschine
8.1 Systemanalyse
8.1.1 Bestandteile einer Registermaschine
8.1.2 Grundzüge der Programmiersprache der Registermaschine
8.2 Systemarchitektur
8.2.1 Register
8.2.2 Registermaschinenprogramme
8.2.3 Anweisungen
8.2.4 Testprogramme
8.2.5 Funktionen
8.3 Benutzerhandbuch
8.3.1 Beispiele
8.3.2 Rekursion
8.4 Konstruktion
8.5 Aufgaben
9 Der elektronische Griffel
9.1 Systemanalyse
9.1.1 Die Figuren des elektronischen Griffels
9.1.2 Die Operationen auf den eTafeln
9.2 Benutzerhandbuch
9.2.1 Bedienungsanleitung
9.2.2 Start des Programms
9.2.3 Erzeugung neuer Figuren
9.2.4 Änderung von Figuren
9.2.5 Verschieben von Figuren
9.2.6 Löschen von Figuren
9.2.7 Markieren von Figuren
9.2.8 Laden und Speichern
9.2.9 Ausdrucken
9.2.10 Beendigung des Programms
9.2.11 Hilfe kurzgefasst
9.3 Systemarchitektur
9.4 Konstruktion
10 Mini
10.1 Systemanalyse
10.1.1 Prozessor
10.1.2 Datenspeicher
10.1.3 Programmzeilen
10.1.4 Ausführung eines Miniprogramms
10.1.5 Instruktionen
10.1.6 Beispiel
10.2 Systemarchitektur
10.2.1 Die Objekte des Systems
10.2.2 Komponentenhierarchie
10.3 Benutzerhandbuch
10.3.1 Hinweise zur Arbeit mit mini
10.4 Konstruktion
10.5 Aufgaben
11 Bücher
11.1 Systemanalyse
11.2 Systemarchitektur
11.3 Die Objekte des Systems
11.4 Komponentenhierarchie
11.5 Benutzerhandbuch
11.6 Konstruktion
11.6.1 Gebiete
11.6.2 Natürliche Zahlen
11.6.3 Zeichenketten
11.6.4 Book
11.6.5 Das Programm zur Verwaltung des Bücherbestandes
12 Inferno
[DELETE]
12.1 Systemanalyse
12.1.1 Masken
12.1.2 Moleküle
12.1.3 Struktur der Moleküle
12.1.4 Atome
12.2 Systemarchitektur
12.2.1 Die Objekte des Systems
12.2.2 Komponentenhierarchie
12.2.3 Die Objekte des Systems
12.3 Benutzerhandbuch
12.3.1 Konstruktion eines Inferno-Programms
12.3.2 Systembedienung
12.4 Konstruktion
12.4.1 Moleküle
12.4.2 Struktur
12.4.3 Atome
13 Lindenmayer-Systeme
13.1 Systemanalyse
13.1.1 Alphabete, Sprachen und Grammatiken
13.1.2 Zusammenhang zwischen Grammatiken und Sprachen
13.2 Die Grammatiken der Lindenmayer-Systeme
13.3 Graphische Interpretation von L-Systemen
13.3.1 Die Koch-Inseln
13.3.2 Die Inseln und Seen
13.3.3 Das Pflaster
13.3.4 Raumfüllende Kurven
13.3.5 Erweiterungen des Alphabets der L-Systeme
13.3.6 Dreidimensionale L-Systeme
13.4 Systemarchitektur
13.4.1 Die Objekte des Systems
13.4.2 Komponentenhierarchie
13.5 Benutzerhandbuch
13.5.1 Erstellung eines L-Systems
13.5.2 Systembedienung
13.6 Konstruktion
13.6.1 Spezifikation der Bibliothekspakete
13.6.2 Implementierung der Pakete
14 Bahn
14.1 Systemanalyse
14.1.1 Grundbegriffe der Bahntechnik
14.1.2 Quellen
14.1.3 Gleisbildanzeige
14.1.4 Fahraufträge
14.1.5 Darstellung der Zugfahrten
14.2 Systemarchitektur
14.2.1 Die Objekte des Systems
14.2.2 Komponentenhierarchie
14.3 Benutzerhandbuch
14.3.1 Bildschirmgestaltung
14.3.2 Das Gleisbildstellwerk auf dem Bildschirm
14.3.3 Das Netz der Bahnhöfe
14.3.4 Bedienung des Systems
14.4 Konstruktion
14.4.1 Hauptprogramm
14.4.2 Netz
14.4.3 Bahnhöfe
14.4.4 Fahrwege
14.4.5 Blöcke
14.4.6 Zellen
14.4.7 Signale
14.4.8 Hilfspakete
14.4.9 Sonstige Pakete
15 Figuren im Raum
15.1 Systemanalyse
15.2 Systemarchitektur
15.2.1 Die Objekte des Systems
15.2.2 Komponentenhierarchie
15.3 Benutzerhandbuch
15.4 Konstruktion
15.4.1 Spezifikationen
15.4.2 Implementierungen
15.4.3 Beispiele
15.4.4 Beispiele für Kegelschnitte
16 Berliner U- und S-Bahn
16.1 Systemanalyse
16.2 Systemarchitektur
16.3 Die Objekte des Systems
16.4 Komponentenhierarchie
16.5 Benutzerhandbuch
16.6 Konstruktion
16.6.1 Spezifikationen
16.6.2 Implementierung
Stichwortverzeichnis