KOTLIN. Język programowania dla Androida

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

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

SWIFT. Zaawansowane Programowanie Obiektowe

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

KOTLIN. Język programowania dla Androida

Programowanie obiektowe

Podstawowe części projektu w Javie

Wprowadzenie do Objective-C

Java Język programowania

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

1 Podstawy c++ w pigułce.

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

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

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

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

1 Podstawy c++ w pigułce.

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Programowanie obiektowe

Pętla for. Wynik działania programu:

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Programowanie w Internecie. Java

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Platformy Programistyczne Podstawy języka Java

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Odczyt danych z klawiatury Operatory w Javie

Programowanie obiektowe i zdarzeniowe

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

Część 4 życie programu

SWIFT. Aplikacje Mobilne i Multimedialne

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

Podstawy Programowania C++

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Instrukcje sterujące. Programowanie Proceduralne 1

Programowanie obiektowe

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Polimorfizm, metody wirtualne i klasy abstrakcyjne

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

Podstawy programowania w języku C

2 Przygotował: mgr inż. Maciej Lasota

Programowanie Obiektowe i C++

Programowanie dla ios

C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie C++ - DZIEDZICZENIE.

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

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

Wykład 9: Polimorfizm i klasy wirtualne

Tworzenie aplikacji w języku Java

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

Podstawy programowania w języku C i C++

Programowanie w środowiskach graficznych. Wykład 3 Język C#

dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy

MATERIAŁY DO ZAJĘĆ II

Programowanie RAD Delphi

Java EE produkcja oprogramowania

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Programowanie obiektowe

Akademia ETI. Wprowadzenie do programowania w Javie PG Java User Group Przemysław Kulesza

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Wprowadzenie do języka Java

Dziedziczenie. dr Jarosław Skaruz

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

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

Podstawy Programowania Podstawowa składnia języka C++

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Microsoft IT Academy kurs programowania

Podstawy programowania. Podstawy C# Tablice

Języki skryptowe w programie Plans

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

I - Microsoft Visual Studio C++

Jak zawsze wyjdziemy od terminologii. While oznacza dopóki, podczas gdy. Pętla while jest

2. Składnia, środowisko i konwencje w Javie

Podstawy otwartych języków programowania Przechowywanie danych

Programowanie obiektowe

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

Programowanie, algorytmy i struktury danych

PARADYGMATY PROGRAMOWANIA Wykład 4

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

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

Klasy abstrakcyjne, interfejsy i polimorfizm

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

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

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

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Aplikacje w środowisku Java

Języki i metody programowania Java. Wykład 2 (część 2)

Programowanie - instrukcje sterujące

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

Programowanie i projektowanie obiektowe

TEMAT : KLASY DZIEDZICZENIE

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

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

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

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

Transkrypt:

KOTLIN Język programowania dla Androida

Historia Kotlin został opracowany przez firmę JetBrains Prace rozpoczęto w 2011 r., od 2012 r. dostępny na licencji Apache 2. Nazwa pochodzi od wyspy koło Petersburga Kotlin 1.0 został udostępniony 15 lutego 2016 r. W pełni wspierany od Android Studio 3.0 Aktualnie wersja 1.2. Strona www.kotlinlang.org

Cechy Mimo innej składni może współpracować z kodem w Javie Ma się kompilować równie szybko jak Java Może się kompilować do bytecode u (Java 6 i 8) jak i do Java Script u i LLVM. Android Studio wspiera konwersje kodu z Javy na Kotlin

Playground Twórcy języka oferują interaktywną piaskownicę, w której można się bawić fragmentami kodu pod adresem: http://try.kotl.in

Cechy Podobnie jak w Swift średniki na końcu linii są opcjonalne Kotlin wykorzystuje inferencję typów Podział zmiennych na modyfikowalne var (mutable) i stałe val (immutable)

Typy podstawowe Byte Short Boolean Int Char Long String Float Double

Przykłady deklaracji zmiennych Deklaracja zmiennej Int przez inferencję Deklaracja zmiennej Int wprost Deklaracja stałej Int przez inferencję Deklaracja zmiennej String przez inferencję Wywołanie metody Wywołania metod Konwersja na Float

Typy nullowe Domyślnie w Kotlinie zmienna nie może mieć przypisanej wartości null Próba odwołania się do zmiennej niezainicjalizowanej powoduje błąd

Typy nullowe Dodając do nazwy typu? otrzymujemy zmienne, które mogą mieć wartość null Zmiennych typu nullowego nie można wprost podstawiać pod zwykłe zmienne

Typy nullowe Aby wykonać takie podstawienie, trzeba najpierw sprawdzić, czy zmienna nie jest pusta Zmiennej nullowej nie można też wywołać metod ani odwoływać się do jej własności

Typy nullowe Można użyć skróconej instrukcji A także wymusić konwersję na typ nienullowy

Typy nullowe A co, jak zmienną nullową chcemy przekazać jako argument funkcji? Można użyć funkcji let

Typy nullowe Można też skorzystać z operatora?:

Operator rzutowania Operator as Wersja niebezpieczna Wersja bezpieczna Operator is

Operatory - Negacja +, -, *, / Arytmetyczne % Modulo +=, -=, *=, /=, %= Skrócone ++, - - Inkrementacji, dekrementacji (postfix i prefix) ==,!= Porównania >, <, >=,<= Porównania! Zaprzeczenie &&, And i Or.. Operator zakresu

Pętle Pętla for-in Z operatorem zakresu.. Dla kolekcji (akurat String) W dół (downto) I w górę (until)

Pętle Pętla for-in Z krokiem step Pętla while Pętla do-while

Pętle Przerwanie pętli - break Kontynuowanie wykonania pętli - continue

Pętle Pętle zagnieżdżone z etykietami

Instrukcje warunkowe Instrukcja if - jak w większości języków Instrukcja when - odpowiednik switch

Funkcje Deklarowane z użyciem słowa kluczowego fun Bez typu Z typem Wywołanie funkcji Funkcje jednoliniowe lub z inferencją

Funkcje Funkcje zagnieżdżone Mają dostęp do zmienny funkcji wyższego poziomu

Funkcje Domyślne argumenty Zmienna liczba argumentów

Wyrażenia Lambda Są to zamknięte fragmenty kodu, podobnie jak funkcje Można je przekazywać jako argumenty

Klasy Do deklaracji klasy mamy słowo kluczowe class Klasa z własnościami Klasa z metodą

Klasy Utworzenie obiektu lub Dodanie konstruktora drugiego rzędu

Klasy Konstruktorów może oczywiście być wiele

Klasy Konstruktor pierwszego rzędu można zdefiniować w deklaracji klasy

Klasy Oprócz konstruktorów klasy mogą też posiadać inicjalizator, przydatny przy wywołaniu konstruktorów pierwszego rzędu, które nie mogą zawierać własnego kodu

Klasy Dostosowany dostęp do własności - można zdefiniować własny getter i setter

Klasy Klasy zagnieżdżone Klasa wewnętrzna nie ma dostępu do klasy zewnętrznej Klasa wewnętrzna ma teraz dostęp do klasy zewnętrznej - inner

Dziedziczenie Dziedziczyć można tylko po pojedynczej klasie Aby móc dziedziczyć po klasie musi być ona zadeklarowana jako otwarta - open Gdy klasa nadrzędna ma konstruktor pierwszego rzędu sprawa się trochę komplikuje

Dziedziczenie Klasa dziedzicząca musi przeciążyć wszystkie konstruktory drugiego rzędu klasy nadrzędnej

Przykład Dziedziczenie

Dziedziczenie Przeciążanie metod - override - metoda też musi być zadeklarowana jako otwarta - open

Dziedziczenie Dodanie konstruktora drugiego rzędu

Interfejsy Kotlin oczywiście posiada interfejsy Mogą zawierać metody Mogą zwierać własności pod warunkiem: Są one abstrakcyjne Mają zdefiniowane funkcje dostępu

Interfejsy

Typy generyczne Kotlin ma pełne wsparcie typów generycznych lub z inferencją typów

Rozszerzenia Kotlin podobnie jak C# lub Swift umożliwia dodawanie rozszerzeń do istniejących typów.

Rozszerzenia Dodać można też własności