"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