Język programowania Scala / Grzegorz Balcerek. Wyd. 2. Poznań, cop Spis treści

Podobne dokumenty
Scala. Obiektowo-funkcyjny język programowania. Zbyszek Skowron

C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop Spis treści

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

Programowanie MorphX Ax

Spis treści. O autorze (11) O redaktorze technicznym (11) Wstęp (13) Rozdział 1. Podstawy Javy (19)

Przetwarzanie i analiza danych w języku Python / Marek Gągolewski, Maciej Bartoszuk, Anna Cena. Warszawa, Spis treści

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

Kurs WWW. Paweł Rajba.

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15.

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Programowanie obiektowe

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Programowanie obiektowe

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Podstawy Programowania Obiektowego

Rok akademicki: 2012/2013 Kod: JFM s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Oracle PL/SQL. Paweł Rajba.

Klasy cd. Struktury Interfejsy Wyjątki

Języki programowania zasady ich tworzenia

Java podstawy jęyka. Wykład 2. Klasy abstrakcyjne, Interfejsy, Klasy wewnętrzne, Anonimowe klasy wewnętrzne.

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

Spis treści. Wprowadzenie 15

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Programowanie w języku Swift : Big Nerd Ranch guide / Matthew Mathias, John Gallagher. Gliwice, cop Spis treści

Visual C# dla zupełnie początkujących / Tony Gaddis. Wydanie IV. Gliwice, copyright Spis treści. Wstęp 11. Uwaga, czytelnicy 19

Java Język programowania

Programowanie obiektowe

.NET Klasy, obiekty. ciąg dalszy

Aplikacje w środowisku Java

GUI - projektowanie interfejsów cz. II

Scala - programowanie obiektowo-funkcyjne

Dokumentacja do API Javy.

Programowanie współbieżne i rozproszone

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Języki programowania imperatywnego

KOTLIN. Język programowania dla Androida

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Diagramy klas. dr Jarosław Skaruz

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Programista samouk : profesjonalny przewodnik do samodzielnej nauki kodowania / Cory Althoff. Gliwice, copyright Spis treści

Dziedziczenie. Tomasz Borzyszkowski

Język C++ Programowanie obiektowe

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Programowanie obiektowe - 1.

MATERIAŁY DO ZAJĘĆ II

Część I Programowanie niskiego poziomu w języku C 19

Wykład 8: Obsługa Wyjątków

Typy klasowe (klasy) 1. Programowanie obiektowe. 2. Założenia paradygmatu obiektowego:

1 Podstawy c++ w pigułce.

Programowanie obiektowe

Wykład 2 Składnia języka C# (cz. 1)

Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych

Spis treści. Przedmowa. Podstawy R

Programowanie w języku Java (OCA+OCP)

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

Paradygmaty programowania

SWIFT. Zaawansowane Programowanie Obiektowe

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0

Materiały do zajęć VII

Programowanie w języku Java 7 z biblioteką SWING

Programowanie (C++) NI 5

Podstawy programowania skrót z wykładów:

Wykład 0 Informacje Podstawowe

Klasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C

C# 6.0 : księga przepisów / Jay Hilyard, Stephen Teilhet. Warszawa, Spis treści

Zaawansowane programowanie w C++ (PCP)

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

1 Atrybuty i metody klasowe

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki

Język R : kompletny zestaw narzędzi dla analityków danych / Hadley Wickham, Garrett Grolemund. Gliwice, cop Spis treści

1 Podstawy c++ w pigułce.

Wstęp do programowania 2

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie

Technologie i usługi internetowe cz. 2

Modelowanie obiektowe

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Laboratorium 6 DIAGRAM KLAS (Class Diagram)

6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT.

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Język C++ Różnice między C a C++

Programowanie w języku C++ Grażyna Koba

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Wykład 5 Okna MDI i SDI, dziedziczenie

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi

C# 6.0 Księga przepisów

Godzina (wtorek)

Klasy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 13

SZYBKO ZROZUMIEĆ VISUAL BASIC 2012 Artur Niewiarowski -

Programowanie obiektowe

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Definiowanie własnych klas

Microsoft SQL Server Podstawy T-SQL

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Transkrypt:

Język programowania Scala / Grzegorz Balcerek. Wyd. 2. Poznań, cop. 2016 Spis treści Przedmowa 1 Stosowana notacja 1 1. Wprowadzenie 3 1.1. Konsola interaktywna języka Scala 3 1.2. Zmienne 5 1.3. Wartości niezmienne 6 1.4. Metody 7 1.5. Klasy i obiekty 8 1.6. Kompilacja 9 2. Podstawy składni 11 2.1. Identyfikatory 11 2.2. Znaki końca wiersza 13 2.3. Komentarze 16 3. Podstawowe typy danych 19 3.1. Liczby całkowite 19 3.2. Liczby zmiennoprzecinkowe 21 3.3. Konwersje liczbowych typów danych 22 3.4. Wartości logiczne 23 3.5. Typ Unit 23 3.6. Klasa Any 24 3.7. Klasa AnyVal 25 3.8. Klasa AnyRef 25 3.9. Typ Nothing 26 3.10. Typ Null 27 3.11. Łańcuchy znakowe 28 3.12. Symbole 30 4. Wyrażenia sterujące 33 4.1. Wyrażenie warunkowe 33 4.2. Słaba zgodność i typ wyrażenia warunkowego 33 4.3. Bloki 35 4.4. Instrukcje pętli 36 5. Klasy 39 5.1. Definiowanie klas 39

5.2. Wartości, zmienne, metody i typy 39 5.3. Przestrzenie nazw 41 5.4. Zmienne i wartości publiczne 42 5.5. Parametry klasy 43 5.6. Definiowanie kilku wartości lub zmiennych 46 5.7. Wartości domyślne zmiennych składowych klas 47 5.8. Konstruktory 48 5.9. Wartości leniwe 50 5.10. Klasy wewnątrz klas 52 5.11. Dziedziczenie 54 5.12. Przedrostek super 57 5.13. Nadpisywanie różnych rodzajów składowych 57 5.14. Klasy abstrakcyjne 59 5.15. Klasy i składowe finalne 61 5.16. Pieczętowanie klas 62 5.17. Klasy wartości 62 6. Cechy 65 6.1. Definiowanie cech 65 6.2. Typ złożony 68 6.3. Linearyzacja 69 6.4. Przedrostek super 71 6.5. Modyfikatory abstract override 72 6.6. Parametry 74 6.7. Typ własny 76 7. Metody 79 7.1. Definiowanie metod 79 7.2. Parametry metod 80 7.3. Typ rezultatu metody 80 7.4. Procedury 82 7.5. Argumenty pozycyjne i nazwane 82 7.6. Argumenty domyślne 83 7.7. Parametry powtórzone 84 7.8. Parametry przekazywane przez nazwę 85 7.9. Metody bezparametrowe 87 7.10. Metody z kilkoma listami parametrów 90 7.11. Przeciążanie metod 91 7.12. Metody apply i update 92 7.13. Operacje prefiksowe 93 7.14. Operacje postfiksowe 94 7.15. Operacje infiksowe 95 7.16. Specjalne traktowanie operatorów przypisania 98 7.17. Cecha Dynamic 99 7.18. Rekurencja ogonowa 101

8. Obiekty 105 8.1. Definiowanie obiektów 105 8.2. Klasy i obiekty towarzyszące 106 8.3. Dziedziczenie 109 8.4. Typy singletonowe 109 9. Typy ogólne 111 9.1. Typy zawierające parametry 111 9.2. Ograniczenia górne 112 9.3. Ograniczenia dolne 114 9.4. Niezmienniczość 115 9.5. Kowariantne parametry typu 118 9.6. Kontrawariantne parametry typu 119 9.7. Ograniczenia typów kowariantnych i kontrawariantnych 121 9.8. Typy egzystencjalne 122 9.9. Więcej o nadpisywaniu składowych 126 9.10. Przykłady typów ogólnych 127 9.11. Typy wyższego rzędu 134 10. Programy i skrypty 137 10.1. Metoda main 137 10.2. Cecha App 138 10.3. Skrypty 138 10.4. Polecenie fsc 139 10.5. Inne sposoby uruchamiania programów 140 11. Funkcje 143 11.1. Funkcje są obiektami 143 11.2. Funkcje anonimowe 144 11.3. Funkcja jako argument 146 11.4. Przekształcanie metod w funkcje 147 11.5. Częściowe wywołanie metody lub funkcji 149 11.6. Domknięcia 150 11.7. Przekształcanie parametrów przekazywanych przez nazwę w funkcje 151 11.8. Funkcje częściowe 152 11.9. Przekształcanie i składanie funkcji 153 12. Pakiety 157 12.1. Definiowanie pakietów 157 12.2. Obiekt pakietowy 159 12.3. Konflikty nazw 160 13. Klauzule importu 163 13.1. Używanie klauzul importu 163 13.2. Umieszczanie w kodzie klauzul importu 166

13.3. Przedrostek _root_ 168 13.4. Standardowe importy 169 13.5. Flagi funkcjonalności 170 13.6. Wiązania 172 14. Dopasowywanie wzorców 177 14.1. Wyrażenie match 177 14.2. Literały i identyfikatory we wzorcach 178 14.3. Znak podkreślenia we wzorcach 179 14.4. Zmienne we wzorcach 180 14.5. Typy we wzorcach 181 14.6. Krotki we wzorcach 184 14.7. Klasy przypadku we wzorcach 185 14.8. Dopasowywanie sekwencji wartości we wzorcach klas przypadku 186 14.9. Wiązanie zmiennej za pomocą znaku @ 187 14.10. Alternatywa wzorców 188 14.11. Dozory 189 14.12. Ekstraktory 190 14.13. Wzorce w postaci operacji infiksowych 194 14.14. Użycie wzorców przy definiowaniu zmiennych i wartości niezmiennych 194 14.15. Definiowanie funkcji za pomocą ciągu klauzul case 195 15. Klasy i obiektu przypadku 197 15.1. Definiowanie klas przypadku 197 15.2. Metody equals, hashcode, tostring 198 15.3. Kopiowanie instancji klas przypadku 199 15.4. Metody apply, unapply i unapplyseq 200 15.5. Obiekty przypadku 202 15.6. Klasy przypadku a dziedziczenie 202 16. Uprawnienia 203 16.1. Uprawnienia publiczne 203 16.2. Uprawnienia prywatne 203 16.3. Uprawnienia prywatne w ramach obiektu 205 16.4. Kwalifikowany dostęp prywatny 206 16.5. Dostęp chroniony 207 16.6. Kwalifikowany dostęp chroniony 209 17. Wyjątki i wyrażenie return 213 17.1. Wyrażenie return 213 17.2. Wyrzucanie wyjątków 214 17.3. Wyrażenie try 216 17.4. Klauzula catch 217 17.5. Klauzula finally 219 17.6. Wyrażenie try z klauzulami catch i finally 220

17.7. Wyrażenie return w anonimowych funkcjach 221 17.8. Zamiana wyjątków na wartości 222 18. Kolekcje 225 18.1. Polimorfizm kolekcji 225 18.2. Sekwencje, mapy i zbiory 226 18.3. Kolekcje zmienne i niezmienne 228 18.4. Metody kolekcji 230 18.5. Klasa Source 242 18.6. Inne obiekty 243 18.7. Konwersje 244 19. Pętla for 249 19.1. Pętla for 249 19.2. Wyrażenie for 251 19.3. Przekształcenia pętli i wyrażenia for 251 19.4. Własne typy w pętli i wyrażeniu for 252 20. Modyfikator implicit 255 20.1. Lista parametrów przekazywanych niejawnie 255 20.2. Modyfikator implicit w funkcjach anonimowych 259 20.3. Odnajdywanie wartości przekazywanych niejawnie 260 20.4. Niejawne konwersje 263 20.5. Konflikty w definicjach konwersji 266 20.6. Ograniczenia widoku 268 20.7. Ograniczenia kontekstu 270 20.8. Klasa StringContext 271 21. XML 275 21.1. Tworzenie struktur XML-owych 275 21.2. Klasa scala.xml.node 276 21.3. Klasa scala.xml.nodeseq 277 21.4. Tworzenie struktur XML bez pomocy specjalnej składni 278 21.5. Wzorce XML 278 21.6. Słownik 281 22. Programowanie współbieżne 285 22.1. Obliczenia asynchroniczne 285 22.2. Aktorzy przykład 1 288 22.3. Aktorzy przykład 2 290 22.4. Synchronizacja 292 23. Adnotacje 295 23.1. Tworzenie adnotacji 295 23.2. Umieszczanie adnotacji w kodzie 296 23.3. Adnotacja deprecated 297

23.4. Adnotacja throws 298 23.5. Adnotacja tailrec 299 23.6. Adnotacja unchecked 300 23.7. Adnotacja volatile 300 23.8. Adnotacja implicitnotfound 302 24. Języki dostosowane do dziedziny 303 24.1. Wewnętrzne DSL 303 24.2. Metoda unless 304 24.3. Wyrażenie either/or 304 24.4. Język służący do tworzenia dat 305 24.5. Przekształcanie obrazków 306 25. Studium przypadku program grający w szachy 313 25.1. sbt 313 25.2. Kolory, figury i pola 314 25.3. Reguły poruszania się figur 318 25.4. Rodzaje ruchów 321 25.5. Plansza 321 25.6. Partia 324 25.7. Ocena sytuacji na planszy 329 25.8. Ruchy komputera 331 25.9. Interfejs użytkownika 333 Tłumaczenia wybranych terminów 343 oprac. BPK