Scala. Wprowadzenie do języka.
|
|
- Ksawery Kowalik
- 7 lat temu
- Przeglądów:
Transkrypt
1 Scala Wprowadzenie do języka. 1 1
2 whoami Michał Januszewski twitter.com/mjanuszewski 2 2
3 Other activities * 3 3
4 Krótka historia......czyli co, po co i dlaczego
5 Features (ficzery) Statyczne typowanie Wieloparadygmatowość JVM +....NET ;-) Zwięzła, elastyczna i elegancka składnia Inferencja typu Skalowalność Wydajność 5 5
6 Static typing Typ zmiennej przechowywany w zmiennej przez cały cykl życia. Możliwość przechowywania obiektów tego samego typu lub pochodnych. Dlaczego nie dynamiczne? - słabsza wydajność - brak optymalizacji ze strony kompilatora - trudniejsza implementacja w IDE 6 6
7 Paradygmaty Object-oriented - wszystko jest obiektem, brak typów podstawowych, traitsy oraz singletony. Functional - immutable variables (wielowątkowość), funkcje jako obiekty, domknięcia (ang. closures ). 7 7
8 Platformy JVM.NET 8 8
9 Inferencja typu Scala posiada wbudowany mechanizm inferencji typu, dzięki któremu nie jesteśmy zmuszani do definiowania typu zmiennej. Kompilator przypisuje zmiennej typ, na podstawie wartości przypisanej do tej zmiennej. 9 9
10 Skalowalność Scala jest językiem skalowalnym, co oznacza, że doskonale nadaje się do pisania zarówno prostych skryptów, jak i rozbudowanych aplikacji
11 Jak zacząć? REPL plugin do IDE (Intellij IDEA, Eclipse, etc.) 11 11
12 Show me the code! 12 12
13 Zmienne val s: String = string var s = kolejny string lazy val i = 10 val map = Map(1 -> jeden, 2 -> dwa ) val odpowiednik javowego final var zwykła zmienna 13 13
14 Funkcje def join(strings: List[String], sep: String): String = strings.mkstring(sep) def show(list: String*) = for (x <- list) println(x) val increase = (x: Int) => x + 1 increase(10) val sum(a: Int, b: Int, c: Int) = a + b + c val othersum = sum _ othersum(2, 4, 5) val one = sum(1, _:Int, 3) val result = one(2) 14 14
15 Inferencja typu Java: Map<Integer,String> mapa = new HashMap<Integer, String>(); Scala: val mapa: Map[Integer,String] = new HashMap val mapa2 = new HashMap[Integer,String] 15 15
16 Pakiety import scala.collection.mutable._ import java.util.{map, HashMap} package scala.collection { import immutable._ } def function() = { import scala.collection.immutable.{ Stack => Stos, TreeMap => _ } } 16 16
17 Nowe typy val s = To jest przykładowy napis rozdzielony na kilka wierszy. Koniec val krotka = (1, tekst, new Car) val nr = krotka._1 val car = krotka._3 val krotka2 = 1 -> napis // (1, napis ) 17 17
18 Notacja operatorowa def parzysta(x: Int) = (x % 2) == 0 List(1,2,3,4,5).filter(x => parzysta(x)).foreach(y => println(y)) List(1,2,3,4,5).filter(parzysta( _ )).foreach(println( _ )) List(1,2,3,4,5) filter parzysta foreach println 18 18
19 Instrukcje warunkowe val y = 4 val x = if (y > 0) true else false val file = new File( in.txt ) val filepath = if (file.exists()) { file.getabsolutepath() } else { file.createnewfile() file.getabsolutepath() } 19 19
20 Pętla for val fruits = List( apple, orange, banana ) for (fruit <- fruits) // for(string s : fruits) println(fruit) for { fruit <- fruits if fruit.startswith( a ) if fruit.length == 5 } println( Czy to jabłko? ) 20 20
21 Pętla for od środka for (fruit <- fruits) println(fruit) fruits.foreach( fruit => println( fruit ) ) for { fruit <- fruits if fruit.startswith( a ) if fruit.length == 5 } println( jabłko ) fruits.filter( x => x.startswith( a ) && x.length == 5).foreach ( x => println( jabłko ) ) 21 21
22 Generatory for (i <- 1 to 5) println(i) for (j <- 1 until 10) println(i) val owoce = for { fruit <- List( apple, orange, banana ) } yield fruit owoce.foreach(println) 22 22
23 Pattern matching val x = List(2.0, sesja, new Praca(), false) for(elem <- x) elem match { case d: Double => println( Why? ) case s: String => println( When?! ) case p: Praca => println( Really? ) case b: Boolean => println( uff... ) case _ => println( Just kidding ;-) ) } 23 23
24 Pattern matching (cd) val n1 = List(1,2,3,4) val n2 = List(2,4,6,8) val empty = List() for (list <- List(n1, n2, empty)) { list match { case List(_, 2, _, _) => println( 4 elementy i drugi to 2 ) case List(2, _*) => println( Lista z 2 na początku ) case List(_*) => println( Zero lub więcej elementów ) } } 24 24
25 Pattern matching (cd.) val t1 = ( A, B ) val t2 = ( B, A ) for( t <- List(t1, t2)) t match { case (x, y) if x == A => println( Krotka z A ) case (x, y) => println( Inna krotka ) } 25 25
26 Obsługa wyjątków import java.util.calendar val then = null val now = Calendar.getInstance() try { now.compareto(then) } catch { case e: NullPointerException => ( Null! ) case _ => ( Inny wyjątek ) } finally { println( Wszystko ok! ) } 26 26
27 Traits trait Car { def start() = println( wrrruum ) def horn() = println( beeep! ) } trait Engine { def accel() = println( Go faster! ) } class GasCar extends Car with Engine { def cartype() = GasCar } val car = new GasCar car.start() car.accel() 27 27
28 Klasy i obiekty class Rational(val n:int, val d:int) { def this(n: Int) = this(n, 1) def + (that: Rational): Rational = new Rational(n * that.d + that.n*d, d * that.d) override def tostring() = n + "/" + d override def hashcode = 25 + (25 + n) + d } object Rational { def apply(n: Int, d: Int) = new Rational(n, d) def apply(n: Int) = new Rational(n) } 28 28
29 Case class case class X(x: Int, y: String) Możliwość tworzenia obiektów bez użycia new : val x = X(4, cztery ) Parametry konstruktora otrzymują val, więc tworzone są odpowiednie pola w klasie. Kompilator automatycznie dodaje metody tostring(), hashcode() oraz equals, więc można w prosty sposób porównywać obiekty 29 29
30 Case class - PM case class Osoba(imie: String, nazwisko: String, wiek: Double) val zenek = Osoba("Zenek", "Augustyński", 21.4) val kasia = Osoba("Kasia", "Bywalska", 24.3) val gosia = Osoba("Gosia", "Cichociemna", 24.) for(osoba <- List(zenek, kasia, gosia)) osoba match { case Osoba(_, _, 24) => println("gosia?") case Osoba("Kasia", _, _) => println("jakaś Kasia") } 30 30
31 Kolekcje krótki przegląd 31 31
32 List val l1 = List("apple", "orange", "mandarin") val l2 = "apple" :: "orange" :: "mandarin" :: Nil val numbers = List(1,2,3,4,5) val sorted = l1.sort( _ < _ ) val lengths = l2.map( _.length ) val filtered = l1.filter( _.startswith("o") ) val sum = (0 /: numbers) { _ + _ } val product = numbers.foldleft(1) { _ * _ } 32 32
33 Map import scala.collection.mutable._ val map = Map[Int, String]() map ++= List(1 -> apple, 2 -> orange ) map += (3 -> banana ) map.contains(2) val orange = map(2) map.keys, map.values 33 33
34 Array val zeros = Array[String](0) val onetofive = Array(1,2,3,4,5) import scala.collection.mutable._ val buffer = Array(1,2,3,4) buffer += 5 buffer -=
35 Gdzie szukać info? / Documentation / Manuals ibm.com/developerworks/java/library/j-scala01228.html scala.sygneca.com Książki wydawnictw: O'reilly, Artima, Apress oraz Pragmatic Kanał irc #scala.pl oraz freenode (aka blackrain) 35 35
36 Pytania? 36 36
37 Dziękuję za uwagę! 37 37
Programowanie obiektowe
Programowanie obiektowe Podstawowe cechy i możliwości języka Scala mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 2017 1 / 32 mgr inż. Krzysztof Szwarc Programowanie obiektowe Informacje
Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Platformy Programistyczne Podstawy języka Java
Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo
Programowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Przygotował: Jacek Sroka. PO* - Scala (iteratory, leniwość, view bounds i konwersje)
1 PO* - Scala (iteratory, leniwość, view bounds i konwersje) 2 Iteratory Iteratory to imperatywne wersje strumieni Po danych poruszamy się metodami hasnext() i next() (może nie być struktury danych) trait
Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Kurs programowania. Wykład 9. Wojciech Macyna
Wykład 9 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa zbiór, lista czy
Tworzenie aplikacji w języku Java
Tworzenie aplikacji w języku Java Wykład 1 Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku Java 2 października 2009
KOTLIN. Język programowania dla Androida
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
JAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Na przykładzie języków Java, C# i odrobiny C++ Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Na przykładzie języków Java, C# i odrobiny C++ Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Refleksja Typy anonimowe Wyrażenia lambda Extension methods *LINQ Java jest językiem dynamicznym
Scala. Obiektowo-funkcyjny język programowania. Zbyszek Skowron
Scala Obiektowo-funkcyjny język programowania Zbyszek Skowron 4 czerwca 2007 Wprowadzenie Scala jest obiektowo-funkcyjnym jezykiem programowania zaprojektowanym przez Martina Odersky'ego. Inne projekty
Programowanie RAD Delphi
Programowanie RAD Delphi Dr Sławomir Orłowski Zespół Fizyki Medycznej, Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu Pokój: 202, tel. 611-32-46, e-mial: bigman@fizyka.umk.pl Delphi zasoby Aplikacje
Języki Programowania II Wykład 3. Java podstawy. Przypomnienie
Języki Programowania II Wykład 3 Java podstawy Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo Przypadki użycia = opowiastki o używaniu systemu = wymagania
Wstęp do ruby dla programistów javy
czyli dlaczego java ssie Akademickie Stowarzyszenie Informatyczne 26 lutego 2011 Podstawowe cechy Ruby vs Java Wieloparadygmatowy Imperatywny Typowanie Silne Dynamiczne Otwarte klasy Interpretowany Wszystko
Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
Programowanie obiektowe
Przygotował: Jacek Sroka 1 Programowanie obiektowe Wykład 3 Java podstawy Przygotował: Jacek Sroka 2 Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo
Programowanie obiektowe
Programowanie obiektowe Język programowania Ruby Marcin Młotkowski 12 kwietnia 2018 Plan wykładu 1 Wstęp 2 Typy numeryczne Łańcuchy znaków (klasa String) Przedziały Tablice i tablice asocjacyjne Nazwy
Język programowania Scala / Grzegorz Balcerek. Wyd. 2. Poznań, cop Spis treści
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
Programowanie obiektowe
Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami
Scala - programowanie obiektowo-funkcyjne
Program szkolenia: Scala - programowanie obiektowofunkcyjne Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Scala - programowanie obiektowo-funkcyjne Scala-Scala Scala developerzy
WYKORZYSTANIE JĘZYKA GROOVY W TESTACH JEDNOSTKOWYCH, INTEGRACYJNYCH I AUTOMATYCZNYCH. Mirosław Gołda, Programista Java
WYKORZYSTANIE JĘZYKA GROOVY W TESTACH JEDNOSTKOWYCH, INTEGRACYJNYCH I AUTOMATYCZNYCH Mirosław Gołda, Programista Java Agenda Kilka słów o języku Groovy Wpięcie Grooviego w projekt Springowy Testy jednostkowe
Co jeszcze mogą nam dać adnotacje? Adam Warski
Co jeszcze mogą nam dać adnotacje? Adam Warski Weryfikacja statyczna Sprawdzanie własności programu bez jego uruchomienia Weryfikacja statyczna Najprostszy przykład: Sprawdzanie typów Przy wywołaniu metody
Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6
Instrukcja 6 Laboratorium 8 Opracowanie diagramów sekwencji dla wybranych przypadków użycia reprezentujących usługi oprogramowania wynikających również z wykonanych diagramów czynności; definicja operacji
Podstawowe części projektu w Javie
Podstawowe części projektu w Javie Pakiet w Javie to grupa podobnych typów klas, interfejsów i podpakietów. Pakiet w Javie może być wbudowany lub zdefiniowany przez użytkownika. Istnieje wiele wbudowanych
Java: kilka brakujących szczegółów i uniwersalna nadklasa Object
Java: kilka brakujących szczegółów i uniwersalna nadklasa Object Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU Konstrukcja obiektów Niszczenie obiektów i zwalnianie zasobów
JavaScript funkcyjność
JavaScript funkcyjność WWW 9 kwietnia 2014 Możliwości tworzenia dynamicznych stron WWW HTML i CSS. Skrypty CGI (Perl, PHP). Serwery (django, java). Plug-iny. Ksiażka Większość przykładów pochodzi z ksiażki:
Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java
Aplikacje Internetowe Podstawy języka Java Najprostsza aplikacja class Hello { public static void main(string[] args) { System.out.println("Hello World!"); Komponenty Javy JRE Java Runtime Environment
Dawid Gierszewski Adam Hanasko
Dawid Gierszewski Adam Hanasko Chcemy stworzyć klasę w której możemy przechowywać dwie zmienne dowolnych typów Tworzymy tyle różnych klas ile potrzeba: Class ParaInt{ int pierwszy; Int drugi; Class ParaButow{
Akademia ETI. Wprowadzenie do programowania w Javie PG Java User Group Przemysław Kulesza
Akademia ETI Wprowadzenie do programowania w Javie PG Java User Group 1 Dlaczego Java? Najpopularniejszy język programowania obiektowego Łatwy w nauce Dostępny na wiele platform 2 Platformy Java Java Standard
JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak
JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard
Język programowania Scala + aktorzy Akka
Język programowania Scala + aktorzy Akka Marek Skórkowski Plan prezentacji: Aktorzy Akka Scala 1. Wprowadzenie (AS) 2. Scala(MS) 3. Nawiasy, kropki... (MS) 4. DSL (MS) 5. Wielodziedziczenie(MS) 6. Package
Języki skryptowe w programie Plans
Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów
Programowanie obiektowe
Programowanie obiektowe III. Refleksja Małgorzata Prolejko OBI JA16Z03 Plan Klasa Class. Analiza funkcjonalności klasy. Podstawy obsługi wyjątków. Zastosowanie refleksji do analizy obiektów. Wywoływanie
Redis, skrypty w języku Lua
edis, skrypty w języku Lua 1/15 Redis, skrypty w języku Lua Technologie Zarządzania Treścią dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej
Programowanie, algorytmy i struktury danych
1/44 Programowanie, algorytmy i struktury danych materiały do wykładu: http://cez.wipb.pl/moodle/ email: m.tabedzki@pb.edu.pl strona: http://aragorn.pb.bialystok.pl/~tabedzki/ Marek Tabędzki Wymagania
Aplikacje webowe z wykorzystaniem. Scala i Lift. Opracował: Mikołaj Sochacki
Aplikacje webowe z wykorzystaniem Scala i Lift Opracował: Mikołaj Sochacki Jaki język będzie dla mnie najlepszy? Dynamiczny + szybkość pisania + krótki czas potrzebny na opanowanie - więcej pisania testów
Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o
Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie 1 czerwca 2009 Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie = bjects = database for objects w pełni obiektowa
Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7
Instrukcja 7 Laboratoria 9, 10 Opracowanie diagramów sekwencji dla wybranych przypadków użycia reprezentujących usługi oprogramowania wynikających również z wykonanych diagramów czynności; definicja operacji
Podstawy otwartych języków programowania Przechowywanie danych
Podstawy otwartych języków programowania Przechowywanie danych Wiktor Wandachowicz Sposoby przechowywania danych Typy podstawowe Pojedyncze obiekty Tablice obiektów i tablice typów podstawowych jednowymiarowe
java.util.* :Kolekcje Tomasz Borzyszkowski
java.util.* :Kolekcje Tomasz Borzyszkowski Wstęp Kolekcje w Java dają programiście pewien standardowy sposób radzenia sobie z przetwarzaniem grup obiektów. Implementacja kolekcji w Java składa się z następujących
Klasy abstrakcyjne, interfejsy i polimorfizm
Programowanie obiektowe 12 kwietnia 2011 Organizacyjne Klasówka będzie 20 IV 2011. Sale jeszcze są pertraktowane. Materiał do wyjątków włącznie. Można mieć swoje materiały nieelektroniczne. Wywołanie z
Na przykładzie języków Java, C# i odrobiny C++ Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Na przykładzie języków Java, C# i odrobiny C++ Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Refleksja Typy anonimowe Wyrażenia lambda Extension methods *LINQ Nullable type, null-coalesce,
Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)
MAS dr. Inż. Mariusz Trzaska Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) Zagadnienia o Podstawy o Kontrolowanie sterowania o Klasy o Interfejsy o Obsługa błędów o Pojemniki o System
Programowanie w Ruby
Programowanie w Ruby Wykład 1 Marcin Młotkowski 3 października 2012 Plan wykładu Sprawy organizacyjne Wykład Źródła wiedzy Zaliczenia O języku Historia i pochodzenie języka O języku Instrukcje złożone
Microsoft IT Academy kurs programowania
Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego
Wykorzystywanie parsera DOM w programach Java i PL/SQL
Wykorzystywanie parsera DOM w programach Java i PL/SQL Maciej Zakrzewicz mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Parser DOM Aplikacja DOM API Parser DOM Dokument XML Drzewo DOM Parser
Wprowadzenie do języka Java
WSNHiD, Programowanie 2 Lab. 1 [ część 1 ] Wprowadzenie do języka Java Wprowadzenie Język programowania Java jest obiektowym językiem programowania. Powstał w 1995 i od tej pory był intensywnie rozwijany.
Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016
Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac
1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)?
1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)? public static void test1() { Object[] o = new Object[] { "1", "2", "3" ; List l = new ArrayList(Arrays.asList(o));
Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych
Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,
Programowanie obiektowe
Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;
Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania
Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Opis biznesowy świata rzeczywistego Wymagania funkcjonalne i niefunkcjonalne aplikacji Diagram przypadków życia Diagramy klas i sekwencji:
Wykład 4: Klasy i Metody
Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to
Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk
Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery Łukasz Bartczuk Moduł 5 Podstawy JavaScript Agenda Czym jest JavaScript? Podstawowe typy danych Zmienne Tablice Funkcje Zakres
Scenariusz Web Design DHTML na 10 sesji. - Strony statyczne I dynamiczne. - Dodawanie kodu VBScript do strony HTML. Rysunek nie jest potrzebny
Scenariusz Web Design DHTML na 10 sesji L.p. Specyficzne detale 2.1 - Strony statyczne I dynamiczne - Dodawanie kodu VBScript do strony HTML doc w Rysunek nie jest potrzebny 2.1.1 Opcje w pisaniu skryptów
DYNAMICZNE PRZYDZIELANIE PAMIECI
DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne
Klasy i obiekty cz II
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy
Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/
Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i
Współbieżność w środowisku Java
Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych
Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().
Wątki Streszczenie Celem wykładu jest wprowadzenie do obsługi wątków w Javie. Czas wykładu 45 minut. Definiowanie wątków jako klas potomnych Thread Nadpisanie metody run(). class Watek extends Thread public
Polimorfizm, metody wirtualne i klasy abstrakcyjne
Programowanie obiektowe Polimorfizm, metody wirtualne i klasy abstrakcyjne Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Polimorfizm,
Java: interfejsy i klasy wewnętrzne
Java: interfejsy i klasy wewnętrzne Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 INTERFEJSY Interfejs to opis co klasa implementująca dany interfejs powinna robić, ale bez określania
DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0
Uwaga: DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0 1. Zostały pominięte diagramy: CYFRA, CYFRA SZESNASTKOWA, ZNAK i LITERA. Nie została uwzględniona możliwość posługiwania się komentarzami. 2. Brakuje
Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków
Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................
Języki i metody programowania Java Lab4 podejście obiektowe, zastosowanie pojemników
Języki i metody programowania Java Lab4 podejście obiektowe, zastosowanie pojemników https://docs.oracle.com/javase/tutorial/ http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/javazk4_2.pdf
Automaty do zadań specjalnych. Olga Maciaszek-Sharma, Artur Kotow Wersja 1, 13.05.2014
Automaty do zadań specjalnych Olga Maciaszek-Sharma, Artur Kotow Wersja 1, 13.05.2014 Agenda Kilka pytań do publiczności Po co się męczyć? Studium przypadku Olympus Wprowadzenie Opis rozwiązania Wnioski
Programowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Programowanie w Internecie. Java
Programowanie w Internecie Java Autor: dr inż. Zofia Kruczkiewicz Literatura: L. Lemay, R. Cadenhead P. Naughton Krzysztof Barteczko Boone Barry Java 2 dla każdego Podręcznik Języka Programowania Java
SWING c.d. przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe.
SWING c.d. ZAGADNIENIA: przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe. MATERIAŁY: http://docs.oracle.com/javase/tutorial/uiswing/dnd/ http://th-www.if.uj.edu.pl/zfs/ciesla/
Przygotował: Jacek Sroka. JNP 3 język Scala
1 JNP 3 język Scala 2 Czemu Scala? Język wzorowany na Javie i Haskelu nowoczesny obiektowy język programowania jednocześnie język funkcyjny Programy uruchamiają się na JVM można swobodnie odwoływać się
Programowanie obiektowe
Wykład 2 28 lutego 2019 Plan wykładu 1 2 3 4 5 Plan wykładu 1 2 3 4 5 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie; standardy ISO i ECMA; podobny składniowo do C++; Język C Krótka
Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),
Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których
JAVA?? to proste!! Autor: wojtekb111111
1 JAVA?? to proste!! 2 Niniejszy tutorial przedstawia krótkie wprowadzenie do programowania w języku JAVA. Jakie narzędzia na początku potrzebujemy do rozpoczęcia programowania w tym języku? JDK (java
Programowanie obiektowe
Programowanie obiektowe Wykład 4 Marcin Młotkowski 15 marca 2018 Plan wykładu 1 2 3 Klasa podstawowa Własne kolekcje Obiekty i wartości Marcin Młotkowski Programowanie obiektowe 141 / 224 Z czego składa
Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu
Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji
Kiedy potrzebne. Struktura (rekord) Struktura w języku C# Tablice struktur. struktura, kolekcja
1 struktura, kolekcja Kiedy potrzebne Duża liczba danych takiego samego typu tablice a jak nieznana liczba elementów? dane zawierające wartości różnego typu (osoba: pesel, nazwisko, rok urodzenia, pracuje/niepracuje,
Enkapsulacja, dziedziczenie, polimorfizm
17 grudnia 2008 Spis treści I Enkapsulacja 1 Enkapsulacja 2 Spis treści II Enkapsulacja 3 Czym jest interfejs Jak definuje się interfejs? Rozszerzanie interfejsu Implementacja interfejsu Częściowa implementacja
Scala + NetBeans AKA: Nowoczesne obiektowe języki programowania i środowiska programistyczne na przykładzie Scali i środowiska NetBeans
1 Scala + NetBeans AKA: Nowoczesne obiektowe języki programowania i środowiska programistyczne na przykładzie Scali i środowiska NetBeans (spotkanie 4) 2 For-Comprehensions Przypominają zapytania Ułatwiają
Programowanie obiektowe
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Krzysztof Lemay, Naughton Barteczko R. Cadenhead JAVA, Java Podręcznik 2 wykłady dla kaŝdego Języka i ćwiczenia Programowania
Singleton. Cel: Przykład: Zastosowanie: Zapewnienie, że klasa ma tylko jedną instancję i dostarczenie globalnego dostępu do niej.
1/8 Singleton Cel: Zapewnienie, że klasa ma tylko jedną instancję i dostarczenie globalnego dostępu do niej. Przykład: Niekiedy ważne jest, aby tworzyć tylko jedną instancję jakiejś klasy. Globalne zmienne
Programowanie w Javie - wykład 3
Pakiety import Klasy dziedziczenie Programowanie w Javie - wykład 3 Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 http://docs.oracle.com/javase/8/docs/
Przygotował: Jacek Sroka. PO* - Scala (typy uogólnione, listy)
1 PO* - Scala (typy uogólnione, listy) 2 Przykład: stos abstract class IntStack { def push(x: Int): IntStack = new IntNonEmptyStack(x, this) def isempty: Boolean def top: Int def pop: IntStack class IntEmptyStack
akademia androida Składowanie danych część VI
akademia androida Składowanie danych część VI agenda 1. SharedPreferences. 2. Pamięć wewnętrzna i karta SD. 3. Pliki w katalogach /res/raw i /res/xml. 4. Baza danych SQLite. 5. Zadanie. 1. SharedPreferences.
Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019
Wykład 3 22 marca 2019 Klasy wewnętrzne Klasa wewnętrzna class A {... class B {... }... } Klasa B jest klasa wewnętrzna w klasie A. Klasa A jest klasa otaczajac a klasy B. Klasy wewnętrzne Właściwości
Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe
Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)
Comparable<Klasa_uzytkownika>
Przechowywanie obiektów w pamięci programu Część II (obiekty typów definiowanych przez użytkownika) Obiekty typów definiowanych przez użytkownika muszą być przystosowane do przechowywania w pojemnikach
Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
Języki i metodyka programowania. Język C# pętle, sterowanie, wyjątki
Język C# pętle, sterowanie, wyjątki Język C# pętle Pętle: while ( ) do { while ( ); for ( ; ; ) foreach ( in
GUI - projektowanie interfejsów cz. II
Katedra Inżynierii Wiedzy, Uniwersytet Ekonomiczny w Katowicach Wykład 2 Java Foundations Classes przyciski; pola tekstowe; panele; okna dialogowe; biblioteka Swing. Metodyka (paradygmat) programowania
Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016
Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal
Przegląd języka Python. Łukasz Anwajler
Przegląd języka Python Łukasz Anwajler lukasz.anwajler@pjwstk.edu.pl Nie wierzcie mi na słowo Zaraz zobaczymy: czym jest Python dlaczego warto go używać jakie ma zastosowania gdzie z niego korzystają jakzacząć
Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz
Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 http://www.junit.org/ Zofia Kruczkiewicz 1. Aby utworzyć test dla jednej klasy, należy kliknąć prawym przyciskiem myszy w oknie Projects na wybraną
Instrukcja 3 Laboratorium z Podstaw Inżynierii Oprogramowania
Instrukcja 3 Laboratorium z Podstaw Inżynierii Oprogramowania Diagramy klas i sekwencji: Relacja 1 do 0..* między klasami modelu obiektowego Cele laboratorium 3 Dokończyć 1-y etap z lab2. 2-i etap projektu.
Podstawy i języki programowania
Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof
Polimorfizm. dr Jarosław Skaruz
Polimorfizm dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com O czym będzie? finalne składowe klasy abstrakcyjne interfejsy polimorfizm Finalne składowe Domyślnie wszystkie pola i metody
Dziedziczenie. dr Jarosław Skaruz
Dziedziczenie dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com Dziedziczenie specjalizacja Dziedziczenie generalizacja Generalizacja-specjalizacja jest takim związkiem pomiędzy klasami,
Google Web Toolkit. Piotr Findeisen
Google Web Toolkit Piotr Findeisen findepi@students.mimuw.edu.pl Czym jest GWT kompilator Javy do Javascriptu biblioteki Java/Javascript emulacja części java.lang i java.util webowe okienka narzędzia do
Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017
Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania