"Atomowy Kotlin"
Identyfikator Librowy: 281811
Spis treści
Copyright 10
Część I. Podstawy programowania 14
Wprowadzenie 16
Dlaczego Kotlin? 22
Hello, world! 36
var oraz val 39
Typy danych 43
Funkcje 47
Wyrażenia if 51
Szablony łańcuchów 56
Typy numeryczne 58
Wartości logiczne (Boolean) 64
Powtarzanie za pomocą while 67
Pętle i przedziały 70
Słowo kluczowe in 76
Wyrażenia i instrukcje 80
Podsumowanie 1 84
Część II. Wprowadzenie do obiektów 96
Wszędzie obiekty 98
Tworzenie klas 102
Właściwości 106
Konstruktory 111
Ograniczanie widoczności 115
Testowanie 124
Wyjątki 130
Listy 135
Zmienne listy argumentów 141
Zbiory 146
Mapy 149
Akcesory właściwości 153
Podsumowanie 2 158
Część III. Użyteczność 182
Funkcje rozszerzające 184
Argumenty nazwane i domyślne 187
Przeciążanie 192
Wyrażenia when 196
Typy wyliczeniowe 202
Klasy danych 206
Deklaracje destrukturyzacyjne 210
Typy nullowalne 214
Bezpieczne wywołania i operator warunkowy 219
Asercje nie-null 223
Rozszerzenia typów nullowalnych 226
Wprowadzenie do typów generycznych 229
Właściwości rozszerzające 234
break i continue 237
Część IV. Programowanie funkcyjne 242
Wyrażenia lambda 244
Ważność wyrażeń lambda 249
Operacje na kolekcjach 254
Referencje do elementów członkowskich 260
Funkcje wyższego poziomu 265
Manipulowanie listami 269
Budowanie map 275
Sekwencje 282
Funkcje lokalne 289
Zwijanie list 296
Rekurencja 299
Część V. Programowanie obiektowe 308
Interfejsy 310
Złożone konstruktory 316
Konstruktory dodatkowe 318
Dziedziczenie 322
Inicjowanie klasy bazowej 328
Klasy abstrakcyjne 332
Rzutowanie w górę 338
Polimorfizm 342
Kompozycja 346
Dziedziczenie i rozszerzenia 351
Delegacja klasy 362
Rzutowanie w dół 367
Klasy zapieczętowane 374
Sprawdzanie typów 379
Klasy zagnieżdżone 390
Obiekty 398
Klasy wewnętrzne 402
Obiekty towarzyszące 411
Część VI. Zapobieganie awarii 420
Obsługa wyjątków 422
Instrukcje sprawdzające 431
Typ Nothing 439
Czyszczenie zasobów 443
Rejestrowanie 446
Testy jednostkowe 451
Część VII. Narzędzia wydajności produktywności 462
Rozszerzające wyrażenia lambda 464
Funkcje zakresu 474
Tworzenie typów generycznych 484
Przeciążanie operatorów 502
Używanie operatorów 516
Delegowanie właściwości 522
Narzędzia delegowania właściwości 531
Leniwe inicjowanie 536
Inicjowanie późne 540
Dodatki 544
Dodatek A: AtomicTest 545
Dodatek B: Współdziałanie z Javą 549