Kotlin dla programistów
Kotlin dla programistów
O Książce
Kotlin to niesamowity język wieloplatformowy, głównie dzięki swojej czytelnej składni, intuicyjnemu i bezpiecznemu dla wartości null systemowi typów oraz świetnemu wsparciu narzędzi. Nic dziwnego, że stał się najpopularniejszym językiem do tworzenia aplikacji na Androida i, w przypadku aplikacji backendowych, popularną alternatywą dla Javy. Jest również używany przy przetwarzaniu i analizie danych oraz w programowaniu wieloplatformowych aplikacji na iOS, komputery stacjonarne i strony internetowe. W tej książce nauczysz się najważniejszych funkcji języka Kotlin, które pozwolą Ci właściwie rozpocząć Twoją przygodę z Kotlinem.
Książka ta jest dedykowana programistom z doświadczeniem w innych językach programowania. Szczególnie korzystne jest doświadczenie z dowolnym językiem z dobrym wsparciem dla klas i obiektowości (na przykład Java, JavaScript, Python czy C++).
Spis treści
-
-
Wprowadzenie
- Dla kogo jest ta książka?
- Co zostanie omówione?
- Język użyty w książce
- Seria Kotlin dla programistów
- Moja historia
- Konwencje kodu
- Podziękowania do wersji polskiej
- Podziękowania dla recenzentów technicznych
-
Czym jest Kotlin?
- Platformy Kotlina
- Środowisko IDE dla Kotlin
- Gdzie używamy Kotlina?
-
Twój pierwszy program w Kotlinie
- Szablony dynamiczne
- Co kryje się pod maską na JVM?
- Pakiety i importowanie
- Podsumowanie
- Ćwiczenie: Twój pierwszy program w Kotlinie
- Zmienne
-
Podstawowe typy, ich literały i operacje
- Liczby
- Wartości logiczne
- Znaki
- Stringi
- Podsumowanie
- Ćwiczenie: Operacje na podstawowych wartościach
-
Instrukcje warunkowe
- Instrukcja if
- Instrukcja when
- Instrukcja when z wartością
- Sprawdzanie is
- Rzutowanie
- Smart casting
- Pętle while i do-while
- Podsumowanie
- Ćwiczenie: Używanie when
- Ćwiczenie: Wyświetlanie czasu w czytelnej formie
-
Funkcje
- Funkcje z pojedynczym wyrażeniem
- Funkcje na wszystkich poziomach
- Parametry i argumenty
-
Typ zwracany
Unit
- Parametry vararg
- Nazwane argumenty i domyślne wartości
- Przeciążanie funkcji
- Składnia infiksowa
- Formatowanie funkcji
- Podsumowanie
- Ćwiczenie: Wyświetlanie szczegółów osoby
-
Supermoce pętli for
- Zakresy
- Break oraz continue
- Przypadki użycia
- Podsumowanie
- Ćwiczenie: Operacje na zakresach
-
Nullowalność
- Bezpieczne wywołania
- Asercja not-null
- Smart casting
- Operator Elvisa
- Rozszerzenia dla typów nullowanych
-
null
to nasz przyjaciel - Właściwości lateinit
- Podsumowanie
- Ćwiczenie: Przetwarzanie informacji o użytkowniku
-
Klasy
- Metody klasy
- Właściwości
- Konstruktory
- Klasy reprezentujące dane w Kotlinie i Javie
- Klasy wewnętrzne
- Podsumowanie
- Ćwiczenie: Zaimplementowanie klasy Produkt
-
Dziedziczenie
- Nadpisywanie elementów
- Rodzice z niepustymi konstruktorami
-
Wywołanie
super
- Klasa abstrakcyjna
- Interfejsy
- Widoczność
-
Any
- Podsumowanie
- Ćwiczenie: Symulacja hierarchii widoków
-
Data klasy
- Przekształcanie do stringa
- Równość obiektów
- Kod hashujący
- Tworzenie kopii obiektów
- Destrukturyzacja
- Kiedy i jak powinniśmy używać destrukturyzacji?
- Ograniczenia klas danych
- Wybieraj data klasy zamiast Pair i Triple
- Podsumowanie
- Ćwiczenie: Praktyka tworzenia data klas
-
Obiekty
- Wyrażenia tworzące obiekty
- Deklaracja obiektu
- Companion obiekty
- Deklaracje obiektów danych
- Stałe wartości
- Podsumowanie
- Ćwiczenie: Fabryka pizzy
-
Wyjątki
- Rzucanie wyjątków
- Definiowanie wyjątków
- Przechwytywanie wyjątków
- Blok try-catch użyty jako wyrażenie
- Blok finally
- Ważne wyjątki
- Hierarchia wyjątków
- Podsumowanie
- Ćwiczenie: Łapanie wyjątków
-
Enumy
- Dane w wartościach wyliczeń
- Enumy z własnymi metodami
- Podsumowanie
- Ćwiczenie: Enum z dniami tygodnia
-
Sealed klasy i interfejsy
-
Sealed klasy i wyrażenia
when
- Sealed vs enum
- Przypadki użycia
- Podsumowanie
-
Sealed klasy i wyrażenia
-
Adnotacje
- Meta-adnotacje
- Adnotowanie konstruktora głównego
- Literał listy
- Podsumowanie
-
Rozszerzenia
- Funkcje rozszerzające pod maską
- Właściwości rozszerzające
- Rozszerzenia kontra elementy klasy
- Funkcje rozszerzeń dla deklaracji obiektów
- Funkcje rozszerzające zdefiniowane wewnątrz klas
- Przypadki użycia
- Podsumowanie
- Ćwiczenie: Rozszerzenia do konwersji i określania jednostek
-
Kolekcje
- Hierarchia interfejsów
- Typy modyfikowalne i tylko do odczytu
- Tworzenie kolekcji
- Listy
- Zbiory
- Mapy
- Tablice
- Podsumowanie
- Ćwiczenie: Zarządzanie magazynem
-
Przeładowanie operatorów
- Przykład przeładowania operatorów
- Operatory arytmetyczne
-
Operator
in
- Operator iterator
- Operatory równości i nierówności
- Operatory porównania
- Operator indeksowania
- Przypisania z operatorem arytmetycznym
- Jednoargumentowe operatory przedrostkowe
- Inkrementacja i dekrementacja
- Operator invoke
- Kolejność wywołania operatorów
- Podsumowanie
- Ćwiczenie: Operacje na pieniądzach
-
Piękno systemu typów w Kotlinie
- Czym jest typ?
- Dlaczego mamy typy?
- Relacja między klasami a typami
- Klasa kontra typ w praktyce
- Relacja między typami
- Podtyp wszystkich typów: Nothing
- Typ zwracany return i throw
- Kiedy kod jest nieosiągalny?
- Typ wartości null
- Podsumowanie
- Ćwiczenie: Najbliższy nadtyp typów
-
Typy generyczne
- Funkcje generyczne
- Klasy generyczne
- Klasy generyczne a nullowalność
- Generyczne interfejsy
- Parametry typu i dziedziczenie
- Type erasure
- Ograniczenia generyczne
- Star projection
- Podsumowanie
- Ćwiczenie: Stos generyczny
- Rozwiązanie: Operacje na podstawowych wartościach
- Rozwiązanie: Używanie when
- Rozwiązanie: Wyświetlanie czasu w czytelnej formie
- Rozwiązanie: Wyświetlanie szczegółów osoby
- Rozwiązanie: Operacje na zakresach
- Rozwiązanie: Przetwarzanie informacji o użytkowniku
- Rozwiązanie: Zaimplementowanie klasy Produkt
- Rozwiązanie: Symulacja hierarchii widoków
- Rozwiązanie: Praktyka tworzenia data klas
- Rozwiązanie: Fabryka pizzy
- Rozwiązanie: Łapanie wyjątków
- Rozwiązanie: Enum z dniami tygodnia
- Rozwiązanie: Rozszerzenia do konwersji i określania jednostek
- Rozwiązanie: Zarządzanie magazynem
- Rozwiązanie: Operacje na pieniądzach
- Rozwiązanie: Najbliższy nadtyp typów
- Rozwiązanie: Stos generyczny
-
Wprowadzenie
- Przypisy końcowe
60-dniowa Gwarancja 100% Satysfakcji Leanpub
W ciągu 60 dni od zakupu możesz otrzymać 100% zwrotu kosztów za każdy zakup na Leanpub, w dwóch kliknięciach.
Technicznie rzecz biorąc, jest to dla nas ryzykowne, ponieważ i tak będziesz mieć pliki książki lub kursu. Jednak jesteśmy tak pewni naszych produktów i usług oraz naszych autorów i czytelników, że z przyjemnością oferujemy pełną gwarancję zwrotu pieniędzy za wszystko, co sprzedajemy.
O tym, jak dobre jest coś, możesz przekonać się tylko próbując, a dzięki naszej 100% gwarancji zwrotu pieniędzy, dosłownie nie ma żadnego ryzyka!
Więc nie ma powodu, żeby nie kliknąć przycisku Dodaj do Koszyka, prawda?
Zobacz pełne warunki...
Zarabiaj 8$ przy zakupie za 10$ i 16$ przy zakupie za 20$
Wypłacamy 80% tantiem od zakupów o wartości 7,99$ lub więcej oraz 80% tantiem minus opłata 50 centów od zakupów między 0,99$ a 7,98$. Zarabiasz 8$ przy sprzedaży za 10$ i 16$ przy sprzedaży za 20$. Więc jeśli sprzedamy 5000 niezwróconych kopii twojej książki po 20$, zarobisz 80 000$.
(Tak, niektórzy autorzy już zarobili znacznie więcej na Leanpub.)
W rzeczywistości autorzy zarobili jużponad 14 milionów dolarówpisząc, publikując i sprzedając na Leanpub.
Dowiedz się więcej o pisaniu na Leanpub
Darmowe Aktualizacje. Bez DRM.
Kupując książkę na Leanpub, otrzymujesz darmowe aktualizacje tak długo, jak autor aktualizuje książkę! Wielu autorów korzysta z Leanpub do publikowania książek w trakcie ich pisania. Wszyscy czytelnicy otrzymują darmowe aktualizacje, niezależnie od tego, kiedy kupili książkę i ile za nią zapłacili (włącznie z darmowymi).
Większość książek Leanpub jest dostępna w formacie PDF (na komputery) oraz EPUB (na telefony, tablety i Kindle). Formaty dostępne dla danej książki są pokazane w prawym górnym rogu tej strony.
Co więcej, książki Leanpub nie posiadają żadnych nonsensownych zabezpieczeń DRM, więc możesz je łatwo czytać na każdym obsługiwanym urządzeniu.
Dowiedz się więcej o formatach ebooków Leanpub i gdzie można je czytać