Programmieren lernen mit Kotlin: Grundlagen, Objektorientierung und fortgeschrittene Konzepte
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
München
Carl Hanser Verlag
[2023]
|
Ausgabe: | 2., aktualisierte Auflage |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Auf dem Umschlag: Extra: E-Book inside |
Beschreibung: | XVIII, 546 Seiten Illustrationen, Diagramme 25 cm Enthält: Online-Ressource |
ISBN: | 9783446477124 3446477128 |
Internformat
MARC
LEADER | 00000nam a22000008c 4500 | ||
---|---|---|---|
001 | BV049393985 | ||
003 | DE-604 | ||
005 | 20240208 | ||
007 | t | ||
008 | 231103s2023 gw a||| |||| 00||| ger d | ||
015 | |a 23,N38 |2 dnb | ||
016 | 7 | |a 1302388576 |2 DE-101 | |
020 | |a 9783446477124 |c Festeinband : EUR 39.99 (DE), EUR 41.20 (AT) |9 978-3-446-47712-4 | ||
020 | |a 3446477128 |9 3-446-47712-8 | ||
024 | 3 | |a 9783446477124 | |
028 | 5 | 2 | |a Bestellnummer: 553/47712 |
035 | |a (OCoLC)1408795460 | ||
035 | |a (DE-599)DNB1302388576 | ||
040 | |a DE-604 |b ger | ||
041 | 0 | |a ger | |
044 | |a gw |c XA-DE-BY | ||
049 | |a DE-210 |a DE-91G |a DE-860 |a DE-12 |a DE-20 | ||
082 | 0 | |a 005.13 |2 23/ger | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a DAT 362 |2 stub | ||
084 | |8 1\p |a 004 |2 23sdnb | ||
100 | 1 | |a Kohls, Christian |e Verfasser |0 (DE-588)142593206 |4 aut | |
245 | 1 | 0 | |a Programmieren lernen mit Kotlin |b Grundlagen, Objektorientierung und fortgeschrittene Konzepte |c Christian Kohls, Alexander Dobrynin |
250 | |a 2., aktualisierte Auflage | ||
264 | 1 | |a München |b Carl Hanser Verlag |c [2023] | |
264 | 4 | |c © 2023 | |
300 | |a XVIII, 546 Seiten |b Illustrationen, Diagramme |c 25 cm |e Enthält: Online-Ressource | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
500 | |a Auf dem Umschlag: Extra: E-Book inside | ||
650 | 0 | 7 | |a App |g Programm |0 (DE-588)7705206-7 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Objektorientierte Programmierung |0 (DE-588)4233947-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Kotlin |g Programmiersprache |0 (DE-588)1136341129 |2 gnd |9 rswk-swf |
653 | |a Android | ||
653 | |a Coroutines | ||
653 | |a Einsteiger | ||
653 | |a Funktionale Programmierung | ||
653 | |a Google | ||
653 | |a Java | ||
653 | |a Objektorientierte Programmierung | ||
653 | |a FBITJAVA: Java | ||
653 | |a FBLEHR: Lehrbuch | ||
653 | |a INF2023 | ||
655 | 7 | |0 (DE-588)4123623-3 |a Lehrbuch |2 gnd-content | |
689 | 0 | 0 | |a Kotlin |g Programmiersprache |0 (DE-588)1136341129 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Kotlin |g Programmiersprache |0 (DE-588)1136341129 |D s |
689 | 1 | 1 | |a Objektorientierte Programmierung |0 (DE-588)4233947-9 |D s |
689 | 1 | 2 | |a App |g Programm |0 (DE-588)7705206-7 |D s |
689 | 1 | |5 DE-604 | |
700 | 1 | |a Dobrynin, Alexander |e Verfasser |0 (DE-588)1218302275 |4 aut | |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe |z 978-3-446-47849-7 |w (DE-604)BV048943373 |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe, EPUB |z 978-3-446-48005-6 |
856 | 4 | 2 | |m DNB Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034721348&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-034721348 | ||
883 | 1 | |8 1\p |a vlb |d 20230913 |q DE-101 |u https://d-nb.info/provenance/plan#vlb |
Datensatz im Suchindex
_version_ | 1804186105833062400 |
---|---|
adam_text | VORWORT
.................................................................................................................
XVII
1
EINFUEHRUNG
..................................................................................................
1
1.1
EINE
SPRACHE
FUER
VIELE
PLATTFORMEN
.........................................................................
2
1.2
DESHALB
IST
KOTLIN
SO
BESONDERS
..............................................................................
3
1.3
DARAUF
DUERFEN
SIE
SICH
FREUEN
..................................................................................
4
TEIL
I:
KONZEPTIONELLER
AUFBAU
VON
COMPUTERN
UND
SOFTWARE
...............
7
2
KOMPONENTEN
EINES
COMPUTERS
............................................................
9
2.1
BELIEBIGE
DATEN
ALS
BINAERE
ZAHLEN
...........................................................................
9
2.2
WIE
ZAHLEN
IN
TEXTE,
BILDER
UND
ANIMATIONEN
UMGEWANDELT
WERDEN
.................
12
2.3
ZAHLEN
ALS
AUSFUEHRBARER
CODE
.................................................................................
13
3
ZUGRIFF
AUF
DEN
SPEICHER
.........................................................................
15
3.1
ORGANISATION
DES
SPEICHERS
.....................................................................................
16
3.2
DATEN
IM
SPEICHER
UND
DATENVERARBEITUNG
IM
PROZESSOR
.....................................
17
3.3
HEAP
UND
STACK
.......................................................................................................
18
3.4
PROGRAMME
ALS
CODE
SCHREIBEN
STATT
ALS
ZAHLENFOLGEN
.........................................
18
4
INTERPRETER
UND
COMPILER
.........................................................................
21
4.1
VIRTUELLE
MASCHINEN,
BYTECODE
UND
MASCHINENCODE
............................................
22
4.2
KOTLIN
-
EINE
SPRACHE,
VIELE
PLATTFORMEN
................................................................
23
5
SYNTAX,
SEMANTIK
UND
PRAGMATIK
..........................................................
25
5.1
SYNTAX
......................................................................................................................
25
5.2
SEMANTIK
..................................................................................................................
26
5.3
PRAGMATIK
.................................................................................................................
28
6
EINGABE
-
VERARBEITUNG
-
AUSGABE
......................................................
31
7
LOS
GEHT
S
....................................................................................................
33
7.1
INTEGRIERTE
ENTWICKLUNGSUMGEBUNG
........................................................................
34
7.2
PROJEKT
ANLEGEN
..........................................................................................................
36
TEIL
II:
GRUNDLAGEN
DES
PROGRAMMIERENS
...................................................
39
8
ANWEISUNGEN
UND
AUSDRUECKE
.................................................................
41
8.1
AUSDRUECKE
...................................................................................................................
42
8.1.1
LITERALE
.........................................................................................................
43
8.1.2
OPERATIONEN
...............................................................................................
44
8.1.3
VARIABLEN
UND
FUNKTIONSAUFRUFE
...............................................................
46
8.2
EVALUATION
VON
AUSDRUECKEN
......................................................................................
47
8.2.1
EVALUIEREN
VON
OPERATOREN
........................................................................
47
8.2.2
EVALUIEREN
VON
FUNKTIONEN
........................................................................
48
8.2.3
EVALUIEREN
VON
VARIABLEN
............................................................................
49
8.3
ZUSAMMENSPIEL
VON
WERTEN
UND
TYPEN
..................................................................
50
8.3.1
TYPPRUEFUNGEN
DURCH
DEN
COMPILER
..........................................................
51
8.3.2
TYPEN
ALS
BAUSTEINE
....................................................................................
52
9
BASIS-DATENTYPEN
........................................................................................
55
9.1
NUMERICS
....................................................................................................................
56
9.2
CHARACTERS
UND
STRINGS
..............................................................................................
60
9.3
BOOLEANS
.........................................................................................................................
61
9.4
ARRAYS
.........................................................................................................................
62
9.5
UNIT
.............................................................................................................................
64
9.6
ANY
..............................................................................................................................
67
9.7
NOTHING
.......................................................................................................................
68
9.8
ZUSAMMENFASSUNG
...................................................................................................
69
10
VARIABLEN
......................................................................................................
71
10.1
DEKLARATION,
ZUWEISUNG
UND
VERWENDUNG
..............................................................
72
10.2
PRAXISBEISPIEL
.............................................................................................................
75
10.2.1
RELEVANTE
INFORMATIONEN
EXTRAHIEREN
.......................................................
75
10.2.2
DAS
PROBLEM
IM
CODE
LOESEN
......................................................................
76
10.2.3
ZUSAMMENFASSUNG
.....................................................................................
78
11
KONTROLLSTRUKTUREN
......................................................................................
79
11.1
FALLUNTERSCHEIDUNGEN
MIT
IF
......................................................................................
79
11.1.1
...
......................................................................................................................
79
11.1.2
...
......................................................................................................................
81
11.2
PATTERN-MATCHING
MIT
WHEN
........................................................................................
83
11.2.1
INTERPRETIEREN
VON
WERTEN
.........................................................................
85
11.2.2
TYPUEBERPRUEFUNGEN
.........................................................................................
86
11.2.3
UEBERPRUEFEN
VON
WERTEBEREICHEN
..............................................................
88
11.2.4
ABBILDEN
VON
LANGEN
IF-ELSE-BLOECKEN
.........................................................
90
11.3
WIEDERHOLUNG
VON
CODE
MIT
WHILE-SCHLEIFEN
.........................................................
92
11.3.1
ZAEHLEN,
WIE
OFT
ETWAS
PASSIERT
....................................................................
93
11.3.2
GAMELOOP
....................................................................................................
94
11.4
ITERIEREN
UEBER
DATENSTRUKTUREN
MIT
FOR-SCHLEIFEN
..................................................
96
11.4.1
ITERATION
MIT
ARRAYS
.....................................................................................
97
11.4.2
ITERATION
MIT
RANGES
...................................................................................
98
11.4.3
GEHT
DAS
ALLES
NICHT
AUCH
MIT
EINER
...........................................................
99
11.5
ZUSAMMENFASSUNG
..................................................................................................
100
12
FUNKTIONEN
...................................................................................................
101
12.1
TOP-LEVEL
UND
MEMBER-FUNCTIONS
........................................................................
101
12.2
FUNKTIONSAUFRUFE
(APPLIKATION)
...............................................................................
102
12.3
SYNTAX
.......................................................................................................................
103
12.4
FUNKTIONSDEFINITION
(DEKLARATION)
.........................................................................
105
12.5
FUNKTIONEN
ALS
ABSTRAKTION
......................................................................................
106
12.6
SCOPING
......................................................................................................................
108
12.7
REKURSIVE
FUNKTIONEN
..............................................................................................
HO
12.7.1
ENDLOSE
REKURSION
......................................................................................
110
12.7.2
TERMINIERENDE
REKURSION
...........................................................................
110
12.7.3
REKURSION
VS.
ITERATION
................................................................................
112
12.7.4
VON
ITERATION
ZUR
REKURSION
....................................................
113
12.8
SHADOWING
VON
VARIABLEN
........................................................................................
114
12.9
INLINE-FUNKTIONEN
....................................................................................................
115
12.10
PURE
FUNKTIONEN
UND
FUNKTIONEN
MIT
SEITENEFFEKT
...............................................
116
12.10.1
DAS
SCHLECHTE
AN
SEITENEFFEKTEN
................................................................
117
12.10.2
OHNE
KOMMEN
WIR
ABER
AUCH
NICHT
AUS
.....................................................
120
12.10.3
WAS
DENN
NUN?
...........................................................................................
121
12.11
DIE
IDEEN
HINTER
FUNKTIONALER
PROGRAMMIERUNG
...................................................
122
12.12
LAMBDAS
...................................................................................................................
123
12.13
CLOSURES
....................................................................................................................
126
12.14
FUNKTIONEN
HOEHERER
ORDNUNG
................................................................................
128
12.14.1
FUNKTIONEN,
DIE
FUNKTIONEN
ALS
PARAMETER
AKZEPTIEREN
..........................
128
12.14.2
FUNKTIONEN,
DIE
FUNKTIONEN
ZURUECKGEBEN
...............................................
130
12.15
ZUSAMMENFASSUNG
..................................................................................................
137
12.16
DAS
WAR
S
...................................................................................................................
137
TEIL
III:
OBJEKTORIENTIERTE
PROGRAMMIERUNG
...................................................
139
13
WAS
SIND
OBJEKTE?
.....................................................................................
141
14
KLASSEN
.........................................................................................................145
14.1
EIGENE
KLASSEN
DEFINIEREN
......................................................................................
145
14.2
KONSTRUKTOREN
..........................................................................................................
147
14.2.1
AUFGABEN
DES
KONSTRUKTORS
........................................................................
149
14.2.2
PRIMAERER
KONSTRUKTOR
..................................................................................
149
14.2.3
PARAMETER
IM
KONSTRUKTOR
VERWENDEN
......................................................
150
14.2.4
INITIALISIERUNGSBLOECKE
..................................................................................
150
14.2.5
KLASSEN
OHNE
EXPLIZITEN
KONSTRUKTOR
.........................................................
151
14.2.6
ZUSAETZLICHE
EIGENSCHAFTEN
FESTLEGEN
...........................................................
151
14.2.7
KLASSEN
MIT
SEKUNDAEREN
KONSTRUKTOREN
....................................................
152
14.2.8
DEFAULT
ARGUMENTS
......................................................................................
153
14.2.9
NAMED
ARGUMENTS
......................................................................................
154
14.3
FUNKTIONEN
UND
METHODEN
.....................................................................................
155
14.3.1
OBJEKTE
ALS
PARAMETER
................................................................................
155
14.3.2
METHODEN:
FUNKTIONEN
AUF
OBJEKTEN
AUSFUHREN
......................................
156
14.3.3
VON
FUNKTIONEN
ZU
METHODEN
...................................................................
158
14.4
DATENKAPSELUNG
.......................................................................................................
160
14.4.1
SETTER
UND
GETTER
........................................................................................
161
14.4.2
BERECHNETE
EIGENSCHAFTEN
.........................................................................
163
14.4.3
METHODEN
IN
EIGENSCHAFTEN
UMWANDELN
..................................................
163
14.4.4
SICHTBARKEITSMODIFIKATOREN
........................................................................
165
14.5
SPEZIELLE
KLASSEN
.....................................................................................................
167
14.5.1
DATEN-KLASSEN
.............................................................................................
167
14.5.2
ENUM-KLASSEN
.............................................................................................
172
14.5.3
SINGULAERE
OBJEKTE
.......................................................................................
176
14.5.4
DATEN-OBJEKTE
.............................................................................................
179
14.6
VERSCHACHTELTE
KLASSEN
...........................................................................................
180
14.6.1
STATISCHE
KLASSEN
........................................................................................
181
14.6.2
INNERE
KLASSEN
............................................................................................
182
14.6.3
LOKALE
INNERE
KLASSEN
................................................................................
184
14.6.4
ANONYME
INNERE
OBJEKTE
..........................................................................
184
14.7
INLINE-VALUE-KLASSEN
..............................................................................................
185
14.8
KLASSEN
UND
OBJEKTE
SIND
ABSTRAKTIONEN
...............................................................
188
14.9
ZUSAMMENFASSUNG
.................................................................................................
189
15
MOVIE
MAKER
-
EIN
SIMULATIONSSPIEL
........................................................
191
15.1
UEBERLEGUNGEN
ZUR
KLASSENSTRUKTUR
.........................................................................
192
15.1.1
EIGENSCHAFTEN
UND
METHODEN
VON
MOVIE
.................................................
193
15.1.2
EIGENSCHAFTEN
UND
METHODEN
VON
DIRECTOR
.............................................
194
15.1.3
EIGENSCHAFTEN
UND
METHODEN
VON
ACTOR
...................................................
195
15.1.4
GENRE
ALS
ENUM
...........................................................................................
195
15.1.5
OBJEKTSTRUKTUR
............................................................................................
196
15.2
VON
DER
SKIZZE
ZUM
PROGRAMM
..............................................................................
197
15.2.1
MOVIE-MAKER-PROJEKT
ANLEGEN
....................................................................
197
15.2.2
GENRE
IMPLEMENTIEREN
...............................................................................
198
15.2.3
ACTOR
UND
DIRECTOR
IMPLEMENTIEREN
..........................................................
198
15.2.4
ERFAHRUNGSZUWACHS
BEI
FERTIGSTELLUNG
EINES
FILMS
...................................
200
15.3
KOMPLEXE
OBJEKTE
ZUSAMMENSETZEN
....................................................................
201
15.3.1
SKILLS
ALS
EINE
EINHEIT
ZUSAMMENFASSEN
.....................................................
201
15.3.2
BEGLEIT-OBJEKT
FUER
SKILLS
..............................................................................
202
15.3.3
OBJEKTKOMPOSITION
UND
OBJEKTAGGREGATION
..............................................
203
15.3.4
ZUSAMMENSETZUNG
DER
KLASSE
MOVIE
.........................................................
205
15.3.5
FILM
PRODUZIEREN
.........................................................................................
207
15.3.6
EIN
OBJEKT
FUER
SPIELDATEN
...........................................................................
208
15.3.7
CODE
ZUM
PROJEKT
.......................................................................................
209
TEIL
IV:
VERERBUNG
UND
POLYMORPHIE
..............................................................
211
16
VERERBUNG
...................................................................................................
213
16.1
VERERBUNGSBEZIEHUNG
.............................................................................................
214
16.2
KLASSENHIERARCHIEN
.................................................................................................
216
16.3
EIGENSCHAFTEN
UND
METHODEN
VERERBEN
..........................................
217
16.4
ZUSAMMENFASSUNG
.................................................................................................
219
17
POLYMORPHIE
................................................................................................
221
17.1
UEBERSCHREIBEN
VON
METHODEN
...............................................................................
222
17.1.1
EINE
METHODE
UNTERSCHIEDLICH
UEBERSCHREIBEN
..........................................
222
17.1.2
DYNAMISCHE
BINDUNG
.................................................................................
223
17.1.3
UEBERSCHREIBEN
EIGENER
METHODEN
............................................................
224
17.1.4
UEBERLADEN
VON
METHODEN
..........................................................................
226
17.2
TYPEN
UND
KLASSEN
...................................................................................................
227
17.2.1
OBERTYPEN
UND
UNTERTYPEN
.......................................................................
228
17.2.2
GENERALISIERUNG
UND
SPEZIALISIERUNG
........................................................
229
17.2.3
TYPKOMPATIBILITAET
......................................................................................
231
17.2.4
UPCAST
UND
DOWNCAST
................................................................................
234
17.2.5
VORSICHT
BEI
DER
TYPINFERENZ
......................................................................
235
17.2.6
SMART
CASTS
.................................................................................................
236
18
ABSTRAKTE
KLASSEN
UND
SCHNITTSTELLEN
...................................................
237
18.1
ABSTRAKTE
KLASSEN
.....................................................................................................
237
18.2
SCHNITTSTELLEN
............................................................................................................
239
18.2.1
SCHNITTSTELLEN
DEFINIEREN
............................................................................
240
18.2.2
SCHNITTSTELLEN
IMPLEMENTIEREN
..................................................................
240
18.2.3
SCHNITTSTELLEN
FUER
POLYMORPHES
VERHALTEN
................................................
241
18.2.4
STANDARDVERHALTEN
FUER
INTERFACES
...............................................................
244
18.2.5
SAM-INTERFACES
...........................................................................................
245
18.2.6
MEHRERE
INTERFACES
IMPLEMENTIEREN
..........................................................
249
18.3
ALLES
SIND
TYPEN
.......................................................................................................
250
18.4
ZUSAMMENFASSUNG
..................................................................................................
252
TEIL
V:
ROBUSTHEIT
...............................................................................................
253
19
NULLFAEHIGKEIT
.................................................................................................
255
19.1
NULLFAEHIGE
TYPEN
.............................................................................................................
255
19.1.1
TYPEN
NULLFAEHIG
MACHEN
............................................................................
256
19.1.2
OPTIONAL
IST
EIN
EIGENER
TYP
........................................................................
256
19.2
SICHERER
ZUGRIFF
AUF
NULLFAEHIGE
TYPEN
..........................................................................
257
19.2.1
UEBERPRUEFEN
AUF
NULL
....................................................................................
258
19.2.2
SAFE
CALLS
.....................................................................................................
258
19.2.3
VERKETTUNG
VON
SAFE
CALLS
..........................................................................
259
19.3
NULLFAEHIGE
TYPEN
AUFLOESEN
..............................................................................................
260
19.3.1
UEBERPRUEFEN
MIT
IF-ELSE
................................................................................
260
19.3.2
DER
ELVIS-OPERATOR
ROCKT
............................................................................
261
19.3.3
ERZWUNGENES
AUFLOESEN
...............................................................................
261
20
EXCEPTIONS
...................................................................................................
263
20.1
SOWOHL
KONZEPT
ALS
AUCH
EINE
KLASSE
.....................................................................
263
20.2
BEISPIELE
FUER
EXCEPTIONS
..........................................................................................
264
20.2.1
ARRAYLNDEXOUTOFBOUNDSEXCEPTION
..........................................................
264
20.2.2
ARITHMETICEXCEPTION
...................................................................................
265
20.3
EXCEPTIONS
AUS
DER
JAVA-BIBLIOTHEK
.........................................................................
266
20.4
EXCEPTIONS
AUFFANGEN
UND
BEHANDELN
....................................................................
267
20.4.1
SCHREIBEN
IN
EINE
DATEI
...............................................................................
267
20.4.2
METAPHER:
BALANCIEREN
UEBER
EIN
DRAHTSEIL
.................................................
268
20.5
EXCEPTIONS
WERFEN
...................................................................................................
270
20.6
EXCEPTIONS
UMWANDELN
..........................................................................................
271
20.6.1
VON
EXCEPTION
ZU
OPTIONAL
..........................................................................
272
20.6.2
VON
OPTIONAL
ZU
EXCEPTION
..........................................................................
273
20.6.3
EXCEPTIONS
VS.
OPTIONALS
............................................................................
273
20.7
EXCEPTIONS
WEITER
WERFEN
........................................................................................
274
20.8
SINN
UND
ZWECK
VON
EXCEPTIONS
.............................................................................
277
21
MOVIE
MAKER
ALS
KONSOLENSPIEL
UMSETZEN
...........................................
279
21.1
DIE
GAMELOOP
..........................................................................................................
279
21.2
EINEN
NEUEN
FILM
PRODUZIEREN
..............................................................................
281
21.3
STATISTIK
ANZEIGEN
....................................................................................................
284
22
ENTWURFSMUSTER
..........................................................................................
285
22.1
DAS
STRATEGIEMUSTER
................................................................................................
286
22.1.1
IM
CODE
VERSTREUTE
FALLUNTERSCHEIDUNGEN
MIT
WHEN
...............................
286
22.1.2
PROBLEME
DES
AKTUELLEN
ANSATZES
..............................................................
288
22.1.3
UNTERSCHIEDLICHE
STRATEGIEN
FUER
DIE
AUSGABE
............................................
289
22.1.4
NUTZEN
DER
STRATEGIE
...................................................................................
292
22.2
DAS
DEKORIERERMUSTER
............................................................................................
292
22.2.1
PROBLEME
DES
GEWAEHLTEN
ANSATZES
.............................................................
294
22.2.2
DEKORIERET
FUER
KOMPONENTEN
....................................................................
295
22.2.3
UMSETZUNG
DES
DEKORIERERS
.......................................................................
297
22.2.4
NUTZEN
DES
DEKORIERERS
..............................................................................
299
22.3
WEITERE
ENTWURFSMUSTER
.........................................................................................
300
23
DEBUGGER
.....................................................................................................
301
TEIL
VI:
DATENSAMMLUNGEN
UND
COLLECTIONS
................................................
305
24
UEBERBLICK
......................................................................................................
307
24.1
PAIR
UND
TRIPLE
.........................................................................................................
309
24.1.1
VERWENDUNG
.................................................................................................
309
24.1.2
SYNTAKTISCHERZUCKER
..................................................................................
310
24.1.3
DESTRUCTURING
..............................................................................................
310
24.1.4
EINSATZGEBIETE
............................................................................................
310
24.2
ARRAYS
.......................................................................................................................
311
24.2.1
DIREKTER
DATENZUGRIFF
.................................................................................
311
24.2.2
ARRAYS
MIT
NULL-REFERENZEN
........................................................................
312
24.2.3
ARRAYS
MIT
PRIMITIVEN
DATEN
......................................................................
314
24.2.4
ARRAYS
VS.
LISTEN
..........................................................................................
314
24.3
LISTEN
.........................................................................................................................
315
24.3.1
UNVERAENDERLICHE
LISTEN
.............................................................................
315
24.3.2
VERAENDERLICHE
LISTEN
..................................................................................
316
24.3.3
LIST
UND
MUTABLELIST
SIND
VERWANDTE
SCHNITTSTELLEN
...............................
316
24.4
SETS
............................................................................................................................
317
24.4.1
SETS
VERWENDEN
...........................................................................................
317
24.4.2
MENGEN-OPERATIONEN
................................................................................
318
24.5
MAPS
..........................................................................................................................
319
24.5.1
MAPS
ERZEUGEN
.........................................................
319
24.5.2
ARBEITEN
MIT
MAPS
.....................................................................................
320
24.5.3
MAPS
DURCHLAUFEN
.......................................................................................
321
25
FUNKTIONEN
HOEHERER
ORDNUNG
FUER
DATENSAMMLUNGEN
..........................
325
25.1
UNTERSCHIEDLICHE
VERARBEITUNG
VON
LISTEN
.............................................................
325
25.1.1
IMPERATIVE
VERARBEITUNG
VON
LISTEN
..........................................................
325
25.1.2
FUNKTIONALE
VERARBEITUNG
VON
LISTEN
........................................................
327
25.1.3
FUNKTIONEN
ALS
KOMBINIERBARE
ARBEITSANLEITUNGEN
.................................
328
25.1.4
AUFBAU
VON
FUNKTIONEN
HOEHERER
ORDNUNG
AM
BEISPIEL
VON
MAP
..........
329
25.2
HILFREICHE
FUNKTIONEN
FUER
DATENSAMMLUNGEN
......................................................
331
25.3
ANWENDUNGSBEISPIELE
FUER
FUNKTIONEN
HOEHERER
ORDNUNG
......................................
333
25.4
SEQUENZEN
.................................................................................................................
339
25.4.1
EAGER
EVALUATION
-
VIEL
ZU
FLEISSIG
................................................................
340
25.4.2
LAZY
EVALUATION
-
DATEN
BEI
BEDARF
VERARBEITEN
.......................................
340
25.4.3
SEQUENZEN
VERAENDERN
DIE
REIHENFOLGE
......................................................
342
25.4.4
FLEISSIG
ODER
FAUL
-
WAS
IST
BESSER?
...............................................................
343
26
INVARIANZ,
KOVARIANZ
UND
KONTRAVARIANZ
.................................................
345
26.1
TYPSICHERHEIT
DURCH
TYP-PARAMETER
..........................................................................
345
26.1.1
INVARIANZ
.....................................................................................................
346
26.1.2
DIE
GRENZEN
VON
INVARIANZ
.......................................................................
347
26.1.3
KOVARIANZ
.....................................................................................................
347
26.1.4
KONTRAVARIANZ
..............................................................................................
349
26.2
INVARIANZ,
KOVARIANZ
UND
KONTRAVARIANZ
IM
VERGLEICH
...........................................
351
27
LISTEN
SELBST
IMPLEMENTIEREN
...................................................................
355
27.1
WAS
IST
EINE
LISTE?
.....................................................................................................
355
27.1.1
UNTERSCHIEDLICHE
LISTEN
ALS
KONKRETE
FORMEN
...........................................
356
27.1.2
EINE
SCHNITTSTELLE
FUER
ALLE
MOEGLICHEN
LISTEN
..............................................
356
27.1.3
TYP-PARAMETER
SELBST
DEFINIEREN
(GENERICS)
..............................................
357
27.1.4
VERSCHIEDENE
IMPLEMENTIERUNGEN
DERSELBEN
SCHNITTSTELLE
.....................
358
27.2
IMPLEMENTIERUNG
DER
SIMPLELIST
DURCH
DELEGATION
..............................................
359
27.3
IMPLEMENTIERUNG
DER
SIMPLELIST
MIT
ARRAYS
............................................................
360
27.3.1
DATENSTRUKTUR
..............................................................................................
360
27.3.2
DIREKTE
ABBILDUNG
DER
LISTEN-OPERATIONEN
AUF
EIN
ARRAY
.......................
360
27.3.3
LISTEN-OPERATIONEN
MIT
AUFWENDIGER
LAUFZEIT
BEI
ARRAYS
.......................
361
28
VERKETTETE
LISTEN
.........................................................................................
365
28.1
BASISSTRUKTUR
DER
VERKETTETEN
LISTE
.........................................................................
366
28.2
IMPLEMENTIERUNG
DER
VERKETTETEN
LISTE
..................................................................
368
28.3
UMSETZUNG
DER
FUNKTIONEN
....................................................................................
368
28.3.1
EINFUEGEN
AM
ANFANG
EINER
VERKETTETEN
LISTE
............................................
368
28.3.2
ZUGRIFF
AUF
DAS
ERSTE
ELEMENT
DER
VERKETTETEN
LISTE
..................................
370
28.3.3
ZUGRIFF
AUF
DAS
LETZTE
ELEMENT
DER
VERKETTETEN
LISTE
.................................
370
28.3.4
ALLGEMEINES
SCHEMA
ZUM
DURCHLAUFEN
EINER
VERKETTETEN
LISTE
.............
372
28.3.5
ELEMENTE
DER
VERKETTETEN
LISTE
ZAEHLEN
......................................................
372
28.3.6
ZUGRIFF
AUF
DAS
N-TE
ELEMENT
......................................................................
373
28.3.7
DIE
VERBLEIBENDEN
METHODEN
IMPLEMENTIEREN
........................................
373
28.4
UEBER
ALLE
LISTENELEMENTE
ITERIEREN
.........................................................................
374
28.4.1
DIE
SCHNITTSTELLE
ITERABLE
............................................................................
375
28.4.2
ITERATOR
IMPLEMENTIEREN
............................................................................
375
28.4.3
ITERATOR
VERWENDEN
.....................................................................................
376
28.4.4
INTERNE
ITERATION
..........................................................................................
377
29
TESTEN
UND
OPTIMIEREN
.............................................................................
379
29.1
KORREKTHEIT
VON
PROGRAMMEN
................................................................
379
29.2
TESTFAELLE
IN
JUNIT
SCHREIBEN
.....................................................................................
380
29.2.1
ASSERTIONS
...................................................................................................
381
29.2.2
IMPLEMENTIERUNG
DER
LISTE
TESTEN
.............................................................
381
29.3
TESTE
ZUERST
..............................................................................................................
382
29.4
KLASSENINVARIANTE
....................................................................................................
384
29.4.1
ALTERNATIVE
IMPLEMENTIERUNG
VON
SIZE()
FUER
DIE
VERKETTETE
LISTE
.............
384
29.4.2
GEWAEHRLEISTUNG
EINES
GUELTIGEN
ZUSTANDS
..................................................
385
30
OPTIMIERUNG
UND
LAUFZEITEFFIZIENZ
.........................................................
387
30.1
LAUFZEIT
EMPIRISCH
ERMITTELN
..................................................................................
387
30.2
LAUFZEIT
THEORETISCH
EINSCHAETZEN
...........................................................................
388
30.3
DIE
O-NOTATION
........................................................................................................
389
30.4
PRAKTISCHE
BEISPIELE
FUER
DIE
O-NOTATION
................................................................
390
31
UNVERAENDERLICHE
VERKETTETE
LISTE
............................................................
391
31.1
DATENSTRUKTUR
FUER
DIE
UNVERAENDERLICHE
LISTE
..........................................................
392
31.1.1
FALLUNTERSCHEIDUNG
DURCH
DYNAMISCHE
BINDUNG
......................................
393
31.1.2
EXPLIZITE
FALLUNTERSCHEIDUNG
INNERHALB
DER
FUNKTION
.............................
394
31.1.3
NEUE
LISTEN
ERZEUGEN
STATT
LISTE
VERAENDERN
..............................................
394
31.1.4
HILFSFUNKTIONEN
UEBER
COMPANION-OBJEKT
BEREITSTELLEN
...........................
396
31.2
REKURSIVE
IMPLEMENTIERUNGEN
..............................................................................
397
31.2.1
MAP
UND
FOLD
ALS
REKURSIVE
IMPLEMENTIERUNG
...........................................
397
31.2.2
FOREACH
UND
ENDREKURSION
..........................................................................
397
TEIL
VII:
ANDROID
.................................................................................................
399
32
ANDROID
STUDIO
...........................................................................................
401
32.1
ERSTELLEN
EINES
PROJEKTS
...........................................................................................
402
32.2
AUFBAU
VON
ANDROID
STUDIO
....................................................................................
404
32.3
FUNKTIONSWEISE
EINER
ANDROID-APP
.......................................................................
405
32.3.1
MAINACTIVITY
................................................................................................
406
32.3.2
CONTEXT
........................................................................................................
407
32.3.3
MANIFEST
UND
GRADLE-SKRIPTE
.....................................................................
408
32.4
PROJEKTSTRUKTUR
EINER
ANDROID-APP
.........................................................................
408
32.5
THEMING
..................................................................................................................
409
32.6
PREVIEW
.....................................................................................................................
411
33
JETPACK
COMPOSE
......................................................................................
413
33.1
DEKLARATIVE
UL-ENTWICKLUNG
....................................................................................
413
33.2
COMPOSABLE-FUNCTIONS
...........................................................................................
416
33.3
LAYOUT
.......................................................................................................................
418
33.4
STATE-MANAGEMENT
..................................................................................................
420
33.4.1
MUTABLESTATE
................................................................................................
422
33.4.2
DIE
REMEMBER-FUNKTION
............................................................................
423
33.4.3
STATE-HOISTING
.............................................................................................
425
33.5
MODIFIER
....................................................................................................................
427
33.6
APP-ARCHITEKTUR
.......................................................................................................
430
33.6.1
UI-LAYER
.......................................................................................................
430
33.6.2
DATA-LAYER
...................................................................................................
432
33.6.3
UNIDIRECTIONAL-DATA-FLOW
..........................................................................
433
33.6.4
LOKALER
STATE
................................................................................................
434
33.6.5
OBSERVABLE-TYPES
.......................................................................................
435
33.7
COMPOSITION
UND
RECOMPOSITION
..........................................................................
435
33.7.1
COMPOSITION-PHASE
.....................................................................................
436
33.7.2
LAYOUT-PHASE
..............................................................................................
436
33.7.3
DRAWING-PHASE
............................................................................................
438
33.8
PERSISTENZ
.................................................................................................................
439
34
ENTWICKLUNG
DER
MOVIE-MAKER-APP
.........................................................
443
34.1
SETUP
.........................................................................................................................
444
34.2
VIEWMODEL
UND
DATASTORE
......................................................................................
445
34.3
START-SCREEN
..............................................................................................................
446
34.3.1
SCAFFOLD
........................................................................................................
447
34.3.2
BUDGET-SCREEN
.............................................................................................
448
34.3.3
TOP-BAR
........................................................................................................
450
34.4
PRODUCE-MOVIE-SCREEN
.............................................................................................
451
34.4.1
...
......................................................................................................................
452
34.4.2
ACTOR-PAGER
.................................................................................................
454
34.4.3
BUDGET-SLIDER
.............................................................................................
459
34.4.4
STATE-HOISTING
............................................................................................
461
34.4.5
PRODUCE-MOVIE-BUTTON
..............................................................................
462
34.5
MOVIE-PRODUCED-SCREEN
.........................................................................................
464
34.6
MOVIE-PRODUCTION-ERROR-SCREEN
.............................................................................
469
34.7
NAVIGATION
...............................................................................................................
470
TEIL
VIII:
NEBENLAEUFIGKEIT
................................................................................
475
35
GRUNDLAGEN
.................................................................................................
477
35.1
THREADS
.....................................................................................................................
481
35.1.1
NICHT-DETERMINIERTER
ABLAUF
......................................................................
482
35.1.2
SCHWERGEWICHTIGE
THREADS
........................................................................
483
35.2
KOROUTINEN
(COROUTINES)
.........................................................................................
483
35.2.1
KOROUTINE
VS.
SUBROUTINE
............................................................................
484
35.2.2
COROUTINES
VS.
THREADS
...............................................................................
485
35.3
ZUSAMMENFASSUNG
DER
KONZEPTE
...........................................................................
487
36
COROUTINES
VERWENDEN
.............................................................................
489
36.1
NEBENLAEUFIGE
BEGRUESSUNG
........................................................................................
490
36.1.1
KOROUTINE
IM
GLOBAL
SCOPE
STARTEN
...........................................................
490
36.1.2
MEHRERE
KOROUTINEN
NEBENLAEUFIG
STARTEN
..................................................
491
36.1.3
KUENSTLICHE
WARTEZEIT
EINBAUEN
MIT
SLEEP
.................................................
492
36.1.4
INFORMATIONEN
UEBER
DEN
AKTUELLEN
THREAD
...............................................
493
36.2
BLOCKIEREN
UND
UNTERBRECHEN
...............................................................................
493
36.2.1
MEHRERE
KOROUTINEN
INNERHALB
VON
RUNBLOCKING
STARTEN
........................
494
36.2.2
ZUSAMMENSPIEL
VON
THREADS
.....................................................................
496
36.3
ARBEIT
AUF
THREADS
VERTEILEN
....................................................................................
496
36.4
JOBS
...........................................................................................................................
499
36.5
NEBENLAEUFIGKEIT
AUF
DEM
..........................................................................................
500
36.5.1
ZUSAMMENSPIEL
VON
BLOCKIERENDEN
UND
UNTERBRECHENDEN
ABSCHNITTEN
501
36.5.2
ABWECHSELNDE
AUSFUEHRUNG
........................................................................
502
36.6
STRUKTURIERTE
NEBENLAEUFIGKEIT
MIT
COROUTINE
SCOPES
............................................
503
36.7
RUNBLOCKING
FUER
MAIN
..............................................................................................
505
36.8
SUSPENDING
FUNCTIONS
............................................................................................
506
36.8.1
UNTERBRECHEN
UND
FORTSETZEN
-
BEHIND
THE
SCENES
..................................
506
36.8.2
EIGENE
SUSPENDING
FUNCTIONS
SCHREIBEN
..................................................
506
36.8.3
ASYNC
............................................................................................................
508
36.8.4
STRUKTURIERTE
NEBENLAEUFIGKEIT
MIT
ASYNC
....................................................
509
36.8.5
AUSLAGERN
LANGLAEUFIGER
BERECHNUNGEN
......................................................
510
36.9
DISPATCHER
................................................................................................................
511
36.9.1
DISPATCHER
FESTLEGEN
...................................................................................
511
36.9.2
WICHTIGE
DISPATCHER
FUER
ANDROID
...............................................................
512
37
WETTLAUFBEDINGUNGEN
................................................................................
515
37.1
BEISPIEL:
BANKKONTO
................................................................................................
515
37.1.1
AUFTRETEN
EINER
WETTLAUFBEDINGUNG
............................................................
517
37.1.2
UNPLANBARE
WECHSEL
ZWISCHEN
THREADS
...................................................
517
37.2
VERMEIDUNG
VON
WETTLAUFBEDINGUNGEN
................................................................
518
37.2.1
THREADSICHERE
DATENSTRUKTUREN
.................................................................
518
37.2.2
THREAD-CONFINEMENT
..................................................................................
519
37.2.3
KRITISCHE
ABSCHNITTE
...................................................................................
522
38
DEADLOCKS
....................................................................................................
525
39
AKTOREN
.........................................................................................................
529
40
DA
GEHT
NOCH
MEHR
.....................................................................................
533
40.1
INFIX-NOTATION
..........................................................................................................
533
40.2
OPERATOREN
UEBERLADEN
............................................................................................
534
40.3
SCOPE-FUNKTIONEN
...................................................................................................
536
40.3.1
APPLY-FUNKTION
............................................................................................
536
40.3.2
LET-FUNKTION
.................................................................................................
537
40.3.3
ALSO-FUNKTION
..............................................................................................
538
40.3.4
UNTERSCHIEDE
DER
SCOPE-FUNKTIONEN
.........................................................
538
40.3.5
WITH-FUNKTION
.............................................................................................
539
40.4
EXTENSION
FUNCTIONS
................................................................................................
539
40.5
WEITERE
INFORMATIONSQUELLEN
..................................................................................
540
STICHWORTVERZEICHNIS
...........................................................................................
543
|
adam_txt |
VORWORT
.
XVII
1
EINFUEHRUNG
.
1
1.1
EINE
SPRACHE
FUER
VIELE
PLATTFORMEN
.
2
1.2
DESHALB
IST
KOTLIN
SO
BESONDERS
.
3
1.3
DARAUF
DUERFEN
SIE
SICH
FREUEN
.
4
TEIL
I:
KONZEPTIONELLER
AUFBAU
VON
COMPUTERN
UND
SOFTWARE
.
7
2
KOMPONENTEN
EINES
COMPUTERS
.
9
2.1
BELIEBIGE
DATEN
ALS
BINAERE
ZAHLEN
.
9
2.2
WIE
ZAHLEN
IN
TEXTE,
BILDER
UND
ANIMATIONEN
UMGEWANDELT
WERDEN
.
12
2.3
ZAHLEN
ALS
AUSFUEHRBARER
CODE
.
13
3
ZUGRIFF
AUF
DEN
SPEICHER
.
15
3.1
ORGANISATION
DES
SPEICHERS
.
16
3.2
DATEN
IM
SPEICHER
UND
DATENVERARBEITUNG
IM
PROZESSOR
.
17
3.3
HEAP
UND
STACK
.
18
3.4
PROGRAMME
ALS
CODE
SCHREIBEN
STATT
ALS
ZAHLENFOLGEN
.
18
4
INTERPRETER
UND
COMPILER
.
21
4.1
VIRTUELLE
MASCHINEN,
BYTECODE
UND
MASCHINENCODE
.
22
4.2
KOTLIN
-
EINE
SPRACHE,
VIELE
PLATTFORMEN
.
23
5
SYNTAX,
SEMANTIK
UND
PRAGMATIK
.
25
5.1
SYNTAX
.
25
5.2
SEMANTIK
.
26
5.3
PRAGMATIK
.
28
6
EINGABE
-
VERARBEITUNG
-
AUSGABE
.
31
7
LOS
GEHT
'
S
.
33
7.1
INTEGRIERTE
ENTWICKLUNGSUMGEBUNG
.
34
7.2
PROJEKT
ANLEGEN
.
36
TEIL
II:
GRUNDLAGEN
DES
PROGRAMMIERENS
.
39
8
ANWEISUNGEN
UND
AUSDRUECKE
.
41
8.1
AUSDRUECKE
.
42
8.1.1
LITERALE
.
43
8.1.2
OPERATIONEN
.
44
8.1.3
VARIABLEN
UND
FUNKTIONSAUFRUFE
.
46
8.2
EVALUATION
VON
AUSDRUECKEN
.
47
8.2.1
EVALUIEREN
VON
OPERATOREN
.
47
8.2.2
EVALUIEREN
VON
FUNKTIONEN
.
48
8.2.3
EVALUIEREN
VON
VARIABLEN
.
49
8.3
ZUSAMMENSPIEL
VON
WERTEN
UND
TYPEN
.
50
8.3.1
TYPPRUEFUNGEN
DURCH
DEN
COMPILER
.
51
8.3.2
TYPEN
ALS
BAUSTEINE
.
52
9
BASIS-DATENTYPEN
.
55
9.1
NUMERICS
.
56
9.2
CHARACTERS
UND
STRINGS
.
60
9.3
BOOLEANS
.
61
9.4
ARRAYS
.
62
9.5
UNIT
.
64
9.6
ANY
.
67
9.7
NOTHING
.
68
9.8
ZUSAMMENFASSUNG
.
69
10
VARIABLEN
.
71
10.1
DEKLARATION,
ZUWEISUNG
UND
VERWENDUNG
.
72
10.2
PRAXISBEISPIEL
.
75
10.2.1
RELEVANTE
INFORMATIONEN
EXTRAHIEREN
.
75
10.2.2
DAS
PROBLEM
IM
CODE
LOESEN
.
76
10.2.3
ZUSAMMENFASSUNG
.
78
11
KONTROLLSTRUKTUREN
.
79
11.1
FALLUNTERSCHEIDUNGEN
MIT
IF
.
79
11.1.1
.
.
79
11.1.2
.
.
81
11.2
PATTERN-MATCHING
MIT
WHEN
.
83
11.2.1
INTERPRETIEREN
VON
WERTEN
.
85
11.2.2
TYPUEBERPRUEFUNGEN
.
86
11.2.3
UEBERPRUEFEN
VON
WERTEBEREICHEN
.
88
11.2.4
ABBILDEN
VON
LANGEN
IF-ELSE-BLOECKEN
.
90
11.3
WIEDERHOLUNG
VON
CODE
MIT
WHILE-SCHLEIFEN
.
92
11.3.1
ZAEHLEN,
WIE
OFT
ETWAS
PASSIERT
.
93
11.3.2
GAMELOOP
.
94
11.4
ITERIEREN
UEBER
DATENSTRUKTUREN
MIT
FOR-SCHLEIFEN
.
96
11.4.1
ITERATION
MIT
ARRAYS
.
97
11.4.2
ITERATION
MIT
RANGES
.
98
11.4.3
GEHT
DAS
ALLES
NICHT
AUCH
MIT
EINER
.
99
11.5
ZUSAMMENFASSUNG
.
100
12
FUNKTIONEN
.
101
12.1
TOP-LEVEL
UND
MEMBER-FUNCTIONS
.
101
12.2
FUNKTIONSAUFRUFE
(APPLIKATION)
.
102
12.3
SYNTAX
.
103
12.4
FUNKTIONSDEFINITION
(DEKLARATION)
.
105
12.5
FUNKTIONEN
ALS
ABSTRAKTION
.
106
12.6
SCOPING
.
108
12.7
REKURSIVE
FUNKTIONEN
.
HO
12.7.1
ENDLOSE
REKURSION
.
110
12.7.2
TERMINIERENDE
REKURSION
.
110
12.7.3
REKURSION
VS.
ITERATION
.
112
12.7.4
VON
ITERATION
ZUR
REKURSION
.
113
12.8
SHADOWING
VON
VARIABLEN
.
114
12.9
INLINE-FUNKTIONEN
.
115
12.10
PURE
FUNKTIONEN
UND
FUNKTIONEN
MIT
SEITENEFFEKT
.
116
12.10.1
DAS
SCHLECHTE
AN
SEITENEFFEKTEN
.
117
12.10.2
OHNE
KOMMEN
WIR
ABER
AUCH
NICHT
AUS
.
120
12.10.3
WAS
DENN
NUN?
.
121
12.11
DIE
IDEEN
HINTER
FUNKTIONALER
PROGRAMMIERUNG
.
122
12.12
LAMBDAS
.
123
12.13
CLOSURES
.
126
12.14
FUNKTIONEN
HOEHERER
ORDNUNG
.
128
12.14.1
FUNKTIONEN,
DIE
FUNKTIONEN
ALS
PARAMETER
AKZEPTIEREN
.
128
12.14.2
FUNKTIONEN,
DIE
FUNKTIONEN
ZURUECKGEBEN
.
130
12.15
ZUSAMMENFASSUNG
.
137
12.16
DAS
WAR
'
S
.
137
TEIL
III:
OBJEKTORIENTIERTE
PROGRAMMIERUNG
.
139
13
WAS
SIND
OBJEKTE?
.
141
14
KLASSEN
.145
14.1
EIGENE
KLASSEN
DEFINIEREN
.
145
14.2
KONSTRUKTOREN
.
147
14.2.1
AUFGABEN
DES
KONSTRUKTORS
.
149
14.2.2
PRIMAERER
KONSTRUKTOR
.
149
14.2.3
PARAMETER
IM
KONSTRUKTOR
VERWENDEN
.
150
14.2.4
INITIALISIERUNGSBLOECKE
.
150
14.2.5
KLASSEN
OHNE
EXPLIZITEN
KONSTRUKTOR
.
151
14.2.6
ZUSAETZLICHE
EIGENSCHAFTEN
FESTLEGEN
.
151
14.2.7
KLASSEN
MIT
SEKUNDAEREN
KONSTRUKTOREN
.
152
14.2.8
DEFAULT
ARGUMENTS
.
153
14.2.9
NAMED
ARGUMENTS
.
154
14.3
FUNKTIONEN
UND
METHODEN
.
155
14.3.1
OBJEKTE
ALS
PARAMETER
.
155
14.3.2
METHODEN:
FUNKTIONEN
AUF
OBJEKTEN
AUSFUHREN
.
156
14.3.3
VON
FUNKTIONEN
ZU
METHODEN
.
158
14.4
DATENKAPSELUNG
.
160
14.4.1
SETTER
UND
GETTER
.
161
14.4.2
BERECHNETE
EIGENSCHAFTEN
.
163
14.4.3
METHODEN
IN
EIGENSCHAFTEN
UMWANDELN
.
163
14.4.4
SICHTBARKEITSMODIFIKATOREN
.
165
14.5
SPEZIELLE
KLASSEN
.
167
14.5.1
DATEN-KLASSEN
.
167
14.5.2
ENUM-KLASSEN
.
172
14.5.3
SINGULAERE
OBJEKTE
.
176
14.5.4
DATEN-OBJEKTE
.
179
14.6
VERSCHACHTELTE
KLASSEN
.
180
14.6.1
STATISCHE
KLASSEN
.
181
14.6.2
INNERE
KLASSEN
.
182
14.6.3
LOKALE
INNERE
KLASSEN
.
184
14.6.4
ANONYME
INNERE
OBJEKTE
.
184
14.7
INLINE-VALUE-KLASSEN
.
185
14.8
KLASSEN
UND
OBJEKTE
SIND
ABSTRAKTIONEN
.
188
14.9
ZUSAMMENFASSUNG
.
189
15
MOVIE
MAKER
-
EIN
SIMULATIONSSPIEL
.
191
15.1
UEBERLEGUNGEN
ZUR
KLASSENSTRUKTUR
.
192
15.1.1
EIGENSCHAFTEN
UND
METHODEN
VON
MOVIE
.
193
15.1.2
EIGENSCHAFTEN
UND
METHODEN
VON
DIRECTOR
.
194
15.1.3
EIGENSCHAFTEN
UND
METHODEN
VON
ACTOR
.
195
15.1.4
GENRE
ALS
ENUM
.
195
15.1.5
OBJEKTSTRUKTUR
.
196
15.2
VON
DER
SKIZZE
ZUM
PROGRAMM
.
197
15.2.1
MOVIE-MAKER-PROJEKT
ANLEGEN
.
197
15.2.2
GENRE
IMPLEMENTIEREN
.
198
15.2.3
ACTOR
UND
DIRECTOR
IMPLEMENTIEREN
.
198
15.2.4
ERFAHRUNGSZUWACHS
BEI
FERTIGSTELLUNG
EINES
FILMS
.
200
15.3
KOMPLEXE
OBJEKTE
ZUSAMMENSETZEN
.
201
15.3.1
SKILLS
ALS
EINE
EINHEIT
ZUSAMMENFASSEN
.
201
15.3.2
BEGLEIT-OBJEKT
FUER
SKILLS
.
202
15.3.3
OBJEKTKOMPOSITION
UND
OBJEKTAGGREGATION
.
203
15.3.4
ZUSAMMENSETZUNG
DER
KLASSE
MOVIE
.
205
15.3.5
FILM
PRODUZIEREN
.
207
15.3.6
EIN
OBJEKT
FUER
SPIELDATEN
.
208
15.3.7
CODE
ZUM
PROJEKT
.
209
TEIL
IV:
VERERBUNG
UND
POLYMORPHIE
.
211
16
VERERBUNG
.
213
16.1
VERERBUNGSBEZIEHUNG
.
214
16.2
KLASSENHIERARCHIEN
.
216
16.3
EIGENSCHAFTEN
UND
METHODEN
VERERBEN
.
217
16.4
ZUSAMMENFASSUNG
.
219
17
POLYMORPHIE
.
221
17.1
UEBERSCHREIBEN
VON
METHODEN
.
222
17.1.1
EINE
METHODE
UNTERSCHIEDLICH
UEBERSCHREIBEN
.
222
17.1.2
DYNAMISCHE
BINDUNG
.
223
17.1.3
UEBERSCHREIBEN
EIGENER
METHODEN
.
224
17.1.4
UEBERLADEN
VON
METHODEN
.
226
17.2
TYPEN
UND
KLASSEN
.
227
17.2.1
OBERTYPEN
UND
UNTERTYPEN
.
228
17.2.2
GENERALISIERUNG
UND
SPEZIALISIERUNG
.
229
17.2.3
TYPKOMPATIBILITAET
.
231
17.2.4
UPCAST
UND
DOWNCAST
.
234
17.2.5
VORSICHT
BEI
DER
TYPINFERENZ
.
235
17.2.6
SMART
CASTS
.
236
18
ABSTRAKTE
KLASSEN
UND
SCHNITTSTELLEN
.
237
18.1
ABSTRAKTE
KLASSEN
.
237
18.2
SCHNITTSTELLEN
.
239
18.2.1
SCHNITTSTELLEN
DEFINIEREN
.
240
18.2.2
SCHNITTSTELLEN
IMPLEMENTIEREN
.
240
18.2.3
SCHNITTSTELLEN
FUER
POLYMORPHES
VERHALTEN
.
241
18.2.4
STANDARDVERHALTEN
FUER
INTERFACES
.
244
18.2.5
SAM-INTERFACES
.
245
18.2.6
MEHRERE
INTERFACES
IMPLEMENTIEREN
.
249
18.3
ALLES
SIND
TYPEN
.
250
18.4
ZUSAMMENFASSUNG
.
252
TEIL
V:
ROBUSTHEIT
.
253
19
NULLFAEHIGKEIT
.
255
19.1
NULLFAEHIGE
TYPEN
.
255
19.1.1
TYPEN
NULLFAEHIG
MACHEN
.
256
19.1.2
OPTIONAL
IST
EIN
EIGENER
TYP
.
256
19.2
SICHERER
ZUGRIFF
AUF
NULLFAEHIGE
TYPEN
.
257
19.2.1
UEBERPRUEFEN
AUF
NULL
.
258
19.2.2
SAFE
CALLS
.
258
19.2.3
VERKETTUNG
VON
SAFE
CALLS
.
259
19.3
NULLFAEHIGE
TYPEN
AUFLOESEN
.
260
19.3.1
UEBERPRUEFEN
MIT
IF-ELSE
.
260
19.3.2
DER
ELVIS-OPERATOR
ROCKT
.
261
19.3.3
ERZWUNGENES
AUFLOESEN
.
261
20
EXCEPTIONS
.
263
20.1
SOWOHL
KONZEPT
ALS
AUCH
EINE
KLASSE
.
263
20.2
BEISPIELE
FUER
EXCEPTIONS
.
264
20.2.1
ARRAYLNDEXOUTOFBOUNDSEXCEPTION
.
264
20.2.2
ARITHMETICEXCEPTION
.
265
20.3
EXCEPTIONS
AUS
DER
JAVA-BIBLIOTHEK
.
266
20.4
EXCEPTIONS
AUFFANGEN
UND
BEHANDELN
.
267
20.4.1
SCHREIBEN
IN
EINE
DATEI
.
267
20.4.2
METAPHER:
BALANCIEREN
UEBER
EIN
DRAHTSEIL
.
268
20.5
EXCEPTIONS
WERFEN
.
270
20.6
EXCEPTIONS
UMWANDELN
.
271
20.6.1
VON
EXCEPTION
ZU
OPTIONAL
.
272
20.6.2
VON
OPTIONAL
ZU
EXCEPTION
.
273
20.6.3
EXCEPTIONS
VS.
OPTIONALS
.
273
20.7
EXCEPTIONS
WEITER
WERFEN
.
274
20.8
SINN
UND
ZWECK
VON
EXCEPTIONS
.
277
21
MOVIE
MAKER
ALS
KONSOLENSPIEL
UMSETZEN
.
279
21.1
DIE
GAMELOOP
.
279
21.2
EINEN
NEUEN
FILM
PRODUZIEREN
.
281
21.3
STATISTIK
ANZEIGEN
.
284
22
ENTWURFSMUSTER
.
285
22.1
DAS
STRATEGIEMUSTER
.
286
22.1.1
IM
CODE
VERSTREUTE
FALLUNTERSCHEIDUNGEN
MIT
WHEN
.
286
22.1.2
PROBLEME
DES
AKTUELLEN
ANSATZES
.
288
22.1.3
UNTERSCHIEDLICHE
STRATEGIEN
FUER
DIE
AUSGABE
.
289
22.1.4
NUTZEN
DER
STRATEGIE
.
292
22.2
DAS
DEKORIERERMUSTER
.
292
22.2.1
PROBLEME
DES
GEWAEHLTEN
ANSATZES
.
294
22.2.2
DEKORIERET
FUER
KOMPONENTEN
.
295
22.2.3
UMSETZUNG
DES
DEKORIERERS
.
297
22.2.4
NUTZEN
DES
DEKORIERERS
.
299
22.3
WEITERE
ENTWURFSMUSTER
.
300
23
DEBUGGER
.
301
TEIL
VI:
DATENSAMMLUNGEN
UND
COLLECTIONS
.
305
24
UEBERBLICK
.
307
24.1
PAIR
UND
TRIPLE
.
309
24.1.1
VERWENDUNG
.
309
24.1.2
SYNTAKTISCHERZUCKER
.
310
24.1.3
DESTRUCTURING
.
310
24.1.4
EINSATZGEBIETE
.
310
24.2
ARRAYS
.
311
24.2.1
DIREKTER
DATENZUGRIFF
.
311
24.2.2
ARRAYS
MIT
NULL-REFERENZEN
.
312
24.2.3
ARRAYS
MIT
PRIMITIVEN
DATEN
.
314
24.2.4
ARRAYS
VS.
LISTEN
.
314
24.3
LISTEN
.
315
24.3.1
UNVERAENDERLICHE
LISTEN
.
315
24.3.2
VERAENDERLICHE
LISTEN
.
316
24.3.3
LIST
UND
MUTABLELIST
SIND
VERWANDTE
SCHNITTSTELLEN
.
316
24.4
SETS
.
317
24.4.1
SETS
VERWENDEN
.
317
24.4.2
MENGEN-OPERATIONEN
.
318
24.5
MAPS
.
319
24.5.1
MAPS
ERZEUGEN
.
319
24.5.2
ARBEITEN
MIT
MAPS
.
320
24.5.3
MAPS
DURCHLAUFEN
.
321
25
FUNKTIONEN
HOEHERER
ORDNUNG
FUER
DATENSAMMLUNGEN
.
325
25.1
UNTERSCHIEDLICHE
VERARBEITUNG
VON
LISTEN
.
325
25.1.1
IMPERATIVE
VERARBEITUNG
VON
LISTEN
.
325
25.1.2
FUNKTIONALE
VERARBEITUNG
VON
LISTEN
.
327
25.1.3
FUNKTIONEN
ALS
KOMBINIERBARE
ARBEITSANLEITUNGEN
.
328
25.1.4
AUFBAU
VON
FUNKTIONEN
HOEHERER
ORDNUNG
AM
BEISPIEL
VON
MAP
.
329
25.2
HILFREICHE
FUNKTIONEN
FUER
DATENSAMMLUNGEN
.
331
25.3
ANWENDUNGSBEISPIELE
FUER
FUNKTIONEN
HOEHERER
ORDNUNG
.
333
25.4
SEQUENZEN
.
339
25.4.1
EAGER
EVALUATION
-
VIEL
ZU
FLEISSIG
.
340
25.4.2
LAZY
EVALUATION
-
DATEN
BEI
BEDARF
VERARBEITEN
.
340
25.4.3
SEQUENZEN
VERAENDERN
DIE
REIHENFOLGE
.
342
25.4.4
FLEISSIG
ODER
FAUL
-
WAS
IST
BESSER?
.
343
26
INVARIANZ,
KOVARIANZ
UND
KONTRAVARIANZ
.
345
26.1
TYPSICHERHEIT
DURCH
TYP-PARAMETER
.
345
26.1.1
INVARIANZ
.
346
26.1.2
DIE
GRENZEN
VON
INVARIANZ
.
347
26.1.3
KOVARIANZ
.
347
26.1.4
KONTRAVARIANZ
.
349
26.2
INVARIANZ,
KOVARIANZ
UND
KONTRAVARIANZ
IM
VERGLEICH
.
351
27
LISTEN
SELBST
IMPLEMENTIEREN
.
355
27.1
WAS
IST
EINE
LISTE?
.
355
27.1.1
UNTERSCHIEDLICHE
LISTEN
ALS
KONKRETE
FORMEN
.
356
27.1.2
EINE
SCHNITTSTELLE
FUER
ALLE
MOEGLICHEN
LISTEN
.
356
27.1.3
TYP-PARAMETER
SELBST
DEFINIEREN
(GENERICS)
.
357
27.1.4
VERSCHIEDENE
IMPLEMENTIERUNGEN
DERSELBEN
SCHNITTSTELLE
.
358
27.2
IMPLEMENTIERUNG
DER
SIMPLELIST
DURCH
DELEGATION
.
359
27.3
IMPLEMENTIERUNG
DER
SIMPLELIST
MIT
ARRAYS
.
360
27.3.1
DATENSTRUKTUR
.
360
27.3.2
DIREKTE
ABBILDUNG
DER
LISTEN-OPERATIONEN
AUF
EIN
ARRAY
.
360
27.3.3
LISTEN-OPERATIONEN
MIT
AUFWENDIGER
LAUFZEIT
BEI
ARRAYS
.
361
28
VERKETTETE
LISTEN
.
365
28.1
BASISSTRUKTUR
DER
VERKETTETEN
LISTE
.
366
28.2
IMPLEMENTIERUNG
DER
VERKETTETEN
LISTE
.
368
28.3
UMSETZUNG
DER
FUNKTIONEN
.
368
28.3.1
EINFUEGEN
AM
ANFANG
EINER
VERKETTETEN
LISTE
.
368
28.3.2
ZUGRIFF
AUF
DAS
ERSTE
ELEMENT
DER
VERKETTETEN
LISTE
.
370
28.3.3
ZUGRIFF
AUF
DAS
LETZTE
ELEMENT
DER
VERKETTETEN
LISTE
.
370
28.3.4
ALLGEMEINES
SCHEMA
ZUM
DURCHLAUFEN
EINER
VERKETTETEN
LISTE
.
372
28.3.5
ELEMENTE
DER
VERKETTETEN
LISTE
ZAEHLEN
.
372
28.3.6
ZUGRIFF
AUF
DAS
N-TE
ELEMENT
.
373
28.3.7
DIE
VERBLEIBENDEN
METHODEN
IMPLEMENTIEREN
.
373
28.4
UEBER
ALLE
LISTENELEMENTE
ITERIEREN
.
374
28.4.1
DIE
SCHNITTSTELLE
ITERABLE
.
375
28.4.2
ITERATOR
IMPLEMENTIEREN
.
375
28.4.3
ITERATOR
VERWENDEN
.
376
28.4.4
INTERNE
ITERATION
.
377
29
TESTEN
UND
OPTIMIEREN
.
379
29.1
KORREKTHEIT
VON
PROGRAMMEN
.
379
29.2
TESTFAELLE
IN
JUNIT
SCHREIBEN
.
380
29.2.1
ASSERTIONS
.
381
29.2.2
IMPLEMENTIERUNG
DER
LISTE
TESTEN
.
381
29.3
TESTE
ZUERST
.
382
29.4
KLASSENINVARIANTE
.
384
29.4.1
ALTERNATIVE
IMPLEMENTIERUNG
VON
SIZE()
FUER
DIE
VERKETTETE
LISTE
.
384
29.4.2
GEWAEHRLEISTUNG
EINES
GUELTIGEN
ZUSTANDS
.
385
30
OPTIMIERUNG
UND
LAUFZEITEFFIZIENZ
.
387
30.1
LAUFZEIT
EMPIRISCH
ERMITTELN
.
387
30.2
LAUFZEIT
THEORETISCH
EINSCHAETZEN
.
388
30.3
DIE
O-NOTATION
.
389
30.4
PRAKTISCHE
BEISPIELE
FUER
DIE
O-NOTATION
.
390
31
UNVERAENDERLICHE
VERKETTETE
LISTE
.
391
31.1
DATENSTRUKTUR
FUER
DIE
UNVERAENDERLICHE
LISTE
.
392
31.1.1
FALLUNTERSCHEIDUNG
DURCH
DYNAMISCHE
BINDUNG
.
393
31.1.2
EXPLIZITE
FALLUNTERSCHEIDUNG
INNERHALB
DER
FUNKTION
.
394
31.1.3
NEUE
LISTEN
ERZEUGEN
STATT
LISTE
VERAENDERN
.
394
31.1.4
HILFSFUNKTIONEN
UEBER
COMPANION-OBJEKT
BEREITSTELLEN
.
396
31.2
REKURSIVE
IMPLEMENTIERUNGEN
.
397
31.2.1
MAP
UND
FOLD
ALS
REKURSIVE
IMPLEMENTIERUNG
.
397
31.2.2
FOREACH
UND
ENDREKURSION
.
397
TEIL
VII:
ANDROID
.
399
32
ANDROID
STUDIO
.
401
32.1
ERSTELLEN
EINES
PROJEKTS
.
402
32.2
AUFBAU
VON
ANDROID
STUDIO
.
404
32.3
FUNKTIONSWEISE
EINER
ANDROID-APP
.
405
32.3.1
MAINACTIVITY
.
406
32.3.2
CONTEXT
.
407
32.3.3
MANIFEST
UND
GRADLE-SKRIPTE
.
408
32.4
PROJEKTSTRUKTUR
EINER
ANDROID-APP
.
408
32.5
THEMING
.
409
32.6
PREVIEW
.
411
33
JETPACK
COMPOSE
.
413
33.1
DEKLARATIVE
UL-ENTWICKLUNG
.
413
33.2
COMPOSABLE-FUNCTIONS
.
416
33.3
LAYOUT
.
418
33.4
STATE-MANAGEMENT
.
420
33.4.1
MUTABLESTATE
.
422
33.4.2
DIE
REMEMBER-FUNKTION
.
423
33.4.3
STATE-HOISTING
.
425
33.5
MODIFIER
.
427
33.6
APP-ARCHITEKTUR
.
430
33.6.1
UI-LAYER
.
430
33.6.2
DATA-LAYER
.
432
33.6.3
UNIDIRECTIONAL-DATA-FLOW
.
433
33.6.4
LOKALER
STATE
.
434
33.6.5
OBSERVABLE-TYPES
.
435
33.7
COMPOSITION
UND
RECOMPOSITION
.
435
33.7.1
COMPOSITION-PHASE
.
436
33.7.2
LAYOUT-PHASE
.
436
33.7.3
DRAWING-PHASE
.
438
33.8
PERSISTENZ
.
439
34
ENTWICKLUNG
DER
MOVIE-MAKER-APP
.
443
34.1
SETUP
.
444
34.2
VIEWMODEL
UND
DATASTORE
.
445
34.3
START-SCREEN
.
446
34.3.1
SCAFFOLD
.
447
34.3.2
BUDGET-SCREEN
.
448
34.3.3
TOP-BAR
.
450
34.4
PRODUCE-MOVIE-SCREEN
.
451
34.4.1
.
.
452
34.4.2
ACTOR-PAGER
.
454
34.4.3
BUDGET-SLIDER
.
459
34.4.4
STATE-HOISTING
.
461
34.4.5
PRODUCE-MOVIE-BUTTON
.
462
34.5
MOVIE-PRODUCED-SCREEN
.
464
34.6
MOVIE-PRODUCTION-ERROR-SCREEN
.
469
34.7
NAVIGATION
.
470
TEIL
VIII:
NEBENLAEUFIGKEIT
.
475
35
GRUNDLAGEN
.
477
35.1
THREADS
.
481
35.1.1
NICHT-DETERMINIERTER
ABLAUF
.
482
35.1.2
SCHWERGEWICHTIGE
THREADS
.
483
35.2
KOROUTINEN
(COROUTINES)
.
483
35.2.1
KOROUTINE
VS.
SUBROUTINE
.
484
35.2.2
COROUTINES
VS.
THREADS
.
485
35.3
ZUSAMMENFASSUNG
DER
KONZEPTE
.
487
36
COROUTINES
VERWENDEN
.
489
36.1
NEBENLAEUFIGE
BEGRUESSUNG
.
490
36.1.1
KOROUTINE
IM
GLOBAL
SCOPE
STARTEN
.
490
36.1.2
MEHRERE
KOROUTINEN
NEBENLAEUFIG
STARTEN
.
491
36.1.3
KUENSTLICHE
WARTEZEIT
EINBAUEN
MIT
SLEEP
.
492
36.1.4
INFORMATIONEN
UEBER
DEN
AKTUELLEN
THREAD
.
493
36.2
BLOCKIEREN
UND
UNTERBRECHEN
.
493
36.2.1
MEHRERE
KOROUTINEN
INNERHALB
VON
RUNBLOCKING
STARTEN
.
494
36.2.2
ZUSAMMENSPIEL
VON
THREADS
.
496
36.3
ARBEIT
AUF
THREADS
VERTEILEN
.
496
36.4
JOBS
.
499
36.5
NEBENLAEUFIGKEIT
AUF
DEM
.
500
36.5.1
ZUSAMMENSPIEL
VON
BLOCKIERENDEN
UND
UNTERBRECHENDEN
ABSCHNITTEN
501
36.5.2
ABWECHSELNDE
AUSFUEHRUNG
.
502
36.6
STRUKTURIERTE
NEBENLAEUFIGKEIT
MIT
COROUTINE
SCOPES
.
503
36.7
RUNBLOCKING
FUER
MAIN
.
505
36.8
SUSPENDING
FUNCTIONS
.
506
36.8.1
UNTERBRECHEN
UND
FORTSETZEN
-
BEHIND
THE
SCENES
.
506
36.8.2
EIGENE
SUSPENDING
FUNCTIONS
SCHREIBEN
.
506
36.8.3
ASYNC
.
508
36.8.4
STRUKTURIERTE
NEBENLAEUFIGKEIT
MIT
ASYNC
.
509
36.8.5
AUSLAGERN
LANGLAEUFIGER
BERECHNUNGEN
.
510
36.9
DISPATCHER
.
511
36.9.1
DISPATCHER
FESTLEGEN
.
511
36.9.2
WICHTIGE
DISPATCHER
FUER
ANDROID
.
512
37
WETTLAUFBEDINGUNGEN
.
515
37.1
BEISPIEL:
BANKKONTO
.
515
37.1.1
AUFTRETEN
EINER
WETTLAUFBEDINGUNG
.
517
37.1.2
UNPLANBARE
WECHSEL
ZWISCHEN
THREADS
.
517
37.2
VERMEIDUNG
VON
WETTLAUFBEDINGUNGEN
.
518
37.2.1
THREADSICHERE
DATENSTRUKTUREN
.
518
37.2.2
THREAD-CONFINEMENT
.
519
37.2.3
KRITISCHE
ABSCHNITTE
.
522
38
DEADLOCKS
.
525
39
AKTOREN
.
529
40
DA
GEHT
NOCH
MEHR
.
533
40.1
INFIX-NOTATION
.
533
40.2
OPERATOREN
UEBERLADEN
.
534
40.3
SCOPE-FUNKTIONEN
.
536
40.3.1
APPLY-FUNKTION
.
536
40.3.2
LET-FUNKTION
.
537
40.3.3
ALSO-FUNKTION
.
538
40.3.4
UNTERSCHIEDE
DER
SCOPE-FUNKTIONEN
.
538
40.3.5
WITH-FUNKTION
.
539
40.4
EXTENSION
FUNCTIONS
.
539
40.5
WEITERE
INFORMATIONSQUELLEN
.
540
STICHWORTVERZEICHNIS
.
543 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Kohls, Christian Dobrynin, Alexander |
author_GND | (DE-588)142593206 (DE-588)1218302275 |
author_facet | Kohls, Christian Dobrynin, Alexander |
author_role | aut aut |
author_sort | Kohls, Christian |
author_variant | c k ck a d ad |
building | Verbundindex |
bvnumber | BV049393985 |
classification_rvk | ST 250 |
classification_tum | DAT 362 |
ctrlnum | (OCoLC)1408795460 (DE-599)DNB1302388576 |
dewey-full | 005.13 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.13 |
dewey-search | 005.13 |
dewey-sort | 15.13 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
edition | 2., aktualisierte Auflage |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02857nam a22007098c 4500</leader><controlfield tag="001">BV049393985</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20240208 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">231103s2023 gw a||| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">23,N38</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1302388576</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783446477124</subfield><subfield code="c">Festeinband : EUR 39.99 (DE), EUR 41.20 (AT)</subfield><subfield code="9">978-3-446-47712-4</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3446477128</subfield><subfield code="9">3-446-47712-8</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783446477124</subfield></datafield><datafield tag="028" ind1="5" ind2="2"><subfield code="a">Bestellnummer: 553/47712</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1408795460</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB1302388576</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-BY</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-210</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-860</subfield><subfield code="a">DE-12</subfield><subfield code="a">DE-20</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.13</subfield><subfield code="2">23/ger</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 362</subfield><subfield code="2">stub</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="8">1\p</subfield><subfield code="a">004</subfield><subfield code="2">23sdnb</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Kohls, Christian</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)142593206</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Programmieren lernen mit Kotlin</subfield><subfield code="b">Grundlagen, Objektorientierung und fortgeschrittene Konzepte</subfield><subfield code="c">Christian Kohls, Alexander Dobrynin</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">2., aktualisierte Auflage</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">München</subfield><subfield code="b">Carl Hanser Verlag</subfield><subfield code="c">[2023]</subfield></datafield><datafield tag="264" ind1=" " ind2="4"><subfield code="c">© 2023</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XVIII, 546 Seiten</subfield><subfield code="b">Illustrationen, Diagramme</subfield><subfield code="c">25 cm</subfield><subfield code="e">Enthält: Online-Ressource</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Auf dem Umschlag: Extra: E-Book inside</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">App</subfield><subfield code="g">Programm</subfield><subfield code="0">(DE-588)7705206-7</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Objektorientierte Programmierung</subfield><subfield code="0">(DE-588)4233947-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Kotlin</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)1136341129</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Android</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Coroutines</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Einsteiger</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Funktionale Programmierung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Google</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Java</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Objektorientierte Programmierung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">FBITJAVA: Java</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">FBLEHR: Lehrbuch</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">INF2023</subfield></datafield><datafield tag="655" ind1=" " ind2="7"><subfield code="0">(DE-588)4123623-3</subfield><subfield code="a">Lehrbuch</subfield><subfield code="2">gnd-content</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Kotlin</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)1136341129</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Kotlin</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)1136341129</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">Objektorientierte Programmierung</subfield><subfield code="0">(DE-588)4233947-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="2"><subfield code="a">App</subfield><subfield code="g">Programm</subfield><subfield code="0">(DE-588)7705206-7</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Dobrynin, Alexander</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1218302275</subfield><subfield code="4">aut</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe</subfield><subfield code="z">978-3-446-47849-7</subfield><subfield code="w">(DE-604)BV048943373</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe, EPUB</subfield><subfield code="z">978-3-446-48005-6</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">DNB Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034721348&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-034721348</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">vlb</subfield><subfield code="d">20230913</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#vlb</subfield></datafield></record></collection> |
genre | (DE-588)4123623-3 Lehrbuch gnd-content |
genre_facet | Lehrbuch |
id | DE-604.BV049393985 |
illustrated | Illustrated |
index_date | 2024-07-03T23:02:02Z |
indexdate | 2024-07-10T10:05:51Z |
institution | BVB |
isbn | 9783446477124 3446477128 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-034721348 |
oclc_num | 1408795460 |
open_access_boolean | |
owner | DE-210 DE-91G DE-BY-TUM DE-860 DE-12 DE-20 |
owner_facet | DE-210 DE-91G DE-BY-TUM DE-860 DE-12 DE-20 |
physical | XVIII, 546 Seiten Illustrationen, Diagramme 25 cm Enthält: Online-Ressource |
publishDate | 2023 |
publishDateSearch | 2023 |
publishDateSort | 2023 |
publisher | Carl Hanser Verlag |
record_format | marc |
spelling | Kohls, Christian Verfasser (DE-588)142593206 aut Programmieren lernen mit Kotlin Grundlagen, Objektorientierung und fortgeschrittene Konzepte Christian Kohls, Alexander Dobrynin 2., aktualisierte Auflage München Carl Hanser Verlag [2023] © 2023 XVIII, 546 Seiten Illustrationen, Diagramme 25 cm Enthält: Online-Ressource txt rdacontent n rdamedia nc rdacarrier Auf dem Umschlag: Extra: E-Book inside App Programm (DE-588)7705206-7 gnd rswk-swf Objektorientierte Programmierung (DE-588)4233947-9 gnd rswk-swf Kotlin Programmiersprache (DE-588)1136341129 gnd rswk-swf Android Coroutines Einsteiger Funktionale Programmierung Java Objektorientierte Programmierung FBITJAVA: Java FBLEHR: Lehrbuch INF2023 (DE-588)4123623-3 Lehrbuch gnd-content Kotlin Programmiersprache (DE-588)1136341129 s DE-604 Objektorientierte Programmierung (DE-588)4233947-9 s App Programm (DE-588)7705206-7 s Dobrynin, Alexander Verfasser (DE-588)1218302275 aut Erscheint auch als Online-Ausgabe 978-3-446-47849-7 (DE-604)BV048943373 Erscheint auch als Online-Ausgabe, EPUB 978-3-446-48005-6 DNB Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034721348&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p vlb 20230913 DE-101 https://d-nb.info/provenance/plan#vlb |
spellingShingle | Kohls, Christian Dobrynin, Alexander Programmieren lernen mit Kotlin Grundlagen, Objektorientierung und fortgeschrittene Konzepte App Programm (DE-588)7705206-7 gnd Objektorientierte Programmierung (DE-588)4233947-9 gnd Kotlin Programmiersprache (DE-588)1136341129 gnd |
subject_GND | (DE-588)7705206-7 (DE-588)4233947-9 (DE-588)1136341129 (DE-588)4123623-3 |
title | Programmieren lernen mit Kotlin Grundlagen, Objektorientierung und fortgeschrittene Konzepte |
title_auth | Programmieren lernen mit Kotlin Grundlagen, Objektorientierung und fortgeschrittene Konzepte |
title_exact_search | Programmieren lernen mit Kotlin Grundlagen, Objektorientierung und fortgeschrittene Konzepte |
title_exact_search_txtP | Programmieren lernen mit Kotlin Grundlagen, Objektorientierung und fortgeschrittene Konzepte |
title_full | Programmieren lernen mit Kotlin Grundlagen, Objektorientierung und fortgeschrittene Konzepte Christian Kohls, Alexander Dobrynin |
title_fullStr | Programmieren lernen mit Kotlin Grundlagen, Objektorientierung und fortgeschrittene Konzepte Christian Kohls, Alexander Dobrynin |
title_full_unstemmed | Programmieren lernen mit Kotlin Grundlagen, Objektorientierung und fortgeschrittene Konzepte Christian Kohls, Alexander Dobrynin |
title_short | Programmieren lernen mit Kotlin |
title_sort | programmieren lernen mit kotlin grundlagen objektorientierung und fortgeschrittene konzepte |
title_sub | Grundlagen, Objektorientierung und fortgeschrittene Konzepte |
topic | App Programm (DE-588)7705206-7 gnd Objektorientierte Programmierung (DE-588)4233947-9 gnd Kotlin Programmiersprache (DE-588)1136341129 gnd |
topic_facet | App Programm Objektorientierte Programmierung Kotlin Programmiersprache Lehrbuch |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034721348&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT kohlschristian programmierenlernenmitkotlingrundlagenobjektorientierungundfortgeschrittenekonzepte AT dobryninalexander programmierenlernenmitkotlingrundlagenobjektorientierungundfortgeschrittenekonzepte |