Język programowania JavaScript. dr hab. inż. Marek Wojciechowski

Wielkość: px
Rozpocząć pokaz od strony:

Download "Język programowania JavaScript. dr hab. inż. Marek Wojciechowski"

Transkrypt

1 Język programowania JavaScript dr hab. inż. Marek Wojciechowski

2 Historia języka JavaScript Opracowany przez firmę Netscape w 1995 roku Brendan Eich strorzył JavaScript w 10 dni Język skryptowy dla przeglądarki Netscape Navigator jako prostsza alternatywa dla apletów Java (Robocze nazwy: Mocha, LiveScript) Serwerowa implementacja dla Netscape Enterprise Server Nie odniosła sukcesu W 1996 Microsoft udostępnia JScript jako port JavaScript Standaryzacja języka pod nazwą ECMAScript (ECMA-262) st Edition, nd Edition (zmiany edycyjne) rd Edition (try/catch, wyrażenia regularne, ) 4th Edition zarzucona (złożoność języka, względy polityczne) th Edition (strict mode, wsparcie JSON) th Edition, ECMAScript Harmony (klasy, moduły) JavaScript, JScript, ActionScript jako implementacje ECMAScript 2

3 Cechy języka JavaScript Łączy programowanie strukturalne, obiektowe i funkcyjne Język skryptowy, interpretowany Uruchamiany w maszynach wirtualnych nazywanych silnikami JavaScript Silniki JavaScript dostępne w przeglądarkach internetowych, ale nie tylko Kompilacja just-in-time w niektórych przeglądarkach Język dynamiczny Dynamiczne typowanie (typ związany z wartością, a nie zmienną) Dynamiczna zmiana właściwości i funkcjonalności obiektów Definiowanie funkcji w trakcie pracy programu Możliwość wykonania kodu dostarczonego jako łańcuch znaków Funkcja eval() Programowanie obiektowe oparte na prototypach Zamiast dziedziczenia opartego na klasach 3

4 Zastosowania JavaScript Przeglądarki WWW Jedna z 3 podstawowych technologii do tworzenia zawartości stron WWW (obok HTML i CSS) Środowisko uruchomieniowe aplikacji zintegrowane z przeglądarką poprzez wtyczkę (plug-in) Rozwiązania serwerowe dla aplikacji WWW Node.js Bazy danych NoSQL JSON jako format danych, JavaScript do zapytań i przetwarzania danych (MongoDB, CouchDB) Inne zastosowania jako wbudowany język skryptowy Rozszerzenia przeglądarek, Adobe Acrobat i Reader, Open Office, Język pośredni dla transkompilatorów nowych języków TypeScript, CoffeeScript, Dart, 4

5 Zastosowania JS na stronach WWW Dynamic HTML (DHTML) Logika programowa dodana do HTML-a Skrypty dokonują interakcji z obiektowym modelem dokumentu (Document Object Model (DOM)) Przykłady zastosowań: Ajax Animacje, gry, odtwarzanie multimediów Walidacja danych wprowadzanych do formularzy Otwieranie dodatkowych okien Logika prezentacji w JavaScript po stronie przeglądarki Logika biznesowa w dowolnej technologii po stronie serwera Żądania HTTP z poziomu JavaScript wywołujące logikę biznesową Modyfikacje strony w przeglądarce poprzez interfejs DOM 5

6 JavaScript a Java Java is to Javascript as car is to carpet Podobieństwa i związki: Składnia obu języków wywodzi się ze składni języka C Standardowa biblioteka JavaScriptu zachowuje konwencje Javy Obiekty Math i Date w Javascript oparte na Math i Date z Java 1.0 Wszystkie słowa kluczowe języka Java były zastrzeżone w pierwszej wersji JavaScript Najważniejsze różnice: Cecha JavaScript Java Typowanie Dynamiczne Statyczne Kompilacja Brak Do bajtkodu Obiektowość Prototypy Klasy Programowanie funkcyjne Od początku Lambdy od Java 8 Składnia Specyficzne operatory i instrukcje sterujące 6

7 Typy danych w JavaScript Typy proste Liczba (number) 64-bity, zmiennoprzecinkowe (IEEE 754 standard) np. 2, -3, 3.14, 2.9e8, 0xFF, 0b1011, 0o67, Infinity, -Infinity, NaN Łańcuchy znaków (string) ograniczniki: " ", ' '; znaki specjalne: \n, \t, \\, \', \"" np. 'Test stringa\n', "Drugi 'string'." Wartości logiczne (boolean): true, false Struktury danych Tablice, np. [3, 5, -3] Obiekty, np. { marka: 'Opel', nrrej: 'PO65947' ; Specjalne wartości null (typu object, przez pomyłkę ) przypisywana wartość oznaczająca brak wartości, np. brak obiektu undefined (typu undefined) wartość zadeklarowanej, ale nie zainicjalizowanej zmiennej lub właściwości obiektu 7

8 Operatory w JavaScript., [], () Arytmetyczne: +, -, *, /, %, **, ++, -- Konkatenacja łańcuchów znaków: +, += Bitowe: &,, ^, ~, <<, >>, >>> Przypisania: =, +=, -=,, <<=,, &=, Porównania: ==,!=, ===,!==, >, >=, <, <= Logiczne: &&,,! (skrócone wartościowanie && i ) new, delete, typeof, void, in, instanceof operator przecinka:, operator warunkowy (ternarny):?: destrukturyzacja tablicy/obiektu (ES6): [v1, v2, ] = tab, {p1: v1, p2: v2, = obj 8

9 Automatyczna konwersja typów console.log(5 * null) // 0 console.log(null * 5) // 0 console.log("6" - 1) // 5 console.log(6 - "1") // 5 console.log("6" + 1) //61 console.log(6 + "1") // 61 console.log("three" * 2) // NaN console.log(2 * "three") // NaN console.log(3 + null); // 3 console.log(3 + undefined); // NaN console.log(3 + false); // 3 console.log(true + true); // 2 9

10 Operatory ==/!= i ===/!== ===/!== testują precyzyjną równość Oprócz wartości uwzględniają typ danych console.log(false == 0); // true console.log(false === 0); // false console.log(null == undefined); console.log(null === undefined); console.log(null == 0); console.log(null === 0); console.log(false!= 0); console.log(false!== 0); console.log(null!= undefined); console.log(null!== undefined); console.log(null!= 0); console.log(null!== 0); // true // false // false // false // false // true // false // true // true // true 10

11 Pułapki porównań przez == Elastyczność języka JavaScript w zakresie konwersji typów sprawia, że wyniki porównań operatorem == mogą nie być oczywiste console.log(0 == '0'); // true console.log(0 == ''); // true console.log('' == '0'); //... false! console.log(false == undefined); // false console.log(false == null); // false console.log(null == undefined); //... true! 11

12 Zmienne i stałe Zmienne nie posiadają typu (typ mają przypisane wartości) Nazwa zmiennej musi być poprawnym identyfikatorem Deklaracja zmiennej: var zasięg funkcji let zasięg bloku kodu (ES6) Odwołanie do niezadeklarowanej zmiennej powoduje jej poszukiwanie w górę zasięgów aż do globalnego obiektu (w przeglądarkach: window) Zabronione w trybie strict ("use strict";) Odczyt niezainicjalizowanej niezadeklarowanej zmiennej kończy się błędem (dla zadeklarowanej zwraca undefined) Deklaracja stałej: const (ES6) 12

13 Zmienne i stałe - Przykłady var nazwisko = "Kowalski"; var imie = 'Jan'; var _$_dziwna zmienna_99 = 0xabcd; var flaga = true; var innaflaga = (5 > 7); var mojeauto = { marka: 'Fiat', nrrej: 'PNC2781' ; var tablica = [4, 7, 9]; const pi = 3.14; 13

14 Tablice Obsługa tablic za pomocą obiektu Array Nie jest konieczne jawne korzystanie z niego Możliwość deklaracji i inicjalizacji tablicy konstrukcją [] Indeksowane od 0 (tylko indeksy liczbowe!) Składowa length Użyteczne metody, np. push, pop, sort, foreach, Rzadka indeksacja tablic ( dziury w numeracji komórek ) Dostęp do elementów tablicy operatorem [] 14

15 Tablice - Przykłady var miasta = new Array('Berlin','Londyn','Nowy Jork'); var kraje = ['Niemcy','Wielka Brytania','USA']; var kontynenty = new Array(2); kontynenty[0] = 'Europa'; kontynenty[1] = 'Ameryka Północna'; console.log(kontynenty.length); // 2 kontynenty[3] = "Afryka"; // 4 console.log(kontynenty.length); kontynenty.push("azja"); console.log(kontynenty.length); // 5 console.log(kontynenty); // ["Europa", "Ameryka Północna", 3: "Afryka", 4: "Azja"] 15

16 Instrukcje sterujące Warunkowe: if, if/else, switch Pętle: while, do/while, for, for in, for of (ES6) Instrukcje używane w pętlach: break, continue Obsługa wyjątków: try/catch/finally Deprecjonowane: for each in, with 16

17 Pętle for in i for of for in iteruje po właściwościach obiektu Uwaga: tablice też są obiektami for of iteruje po wartościach właściwości obiektów iterowalnych (tablice, mapy, ) let car = { marka: "Fiat", cena: 27000; for (let i in car) { console.log(i); // "marka", "cena" // for (let i of car) { // error! for (let i in car) { console.log(car[i]); // "Fiat",

18 Pętle for in i for of (c.d.) let arr = [3, 5, 7]; for (let i in arr) { console.log(i); // 0, 1, 2 for (let i of arr) { console.log(i); // 3, 5, 7 for (let i in arr) { console.log(arr[i]); // 3, 5, 7 18

19 Funkcje Blok kodu, który wykonuje się gdy zostanie wywołany Typowo nazwany blok programu Funkcja może być utworzona jako anonimowa Funkcja może przyjmować parametry Przy wywołania można przekazać mniejszą lub większą liczbę parametrów niż zadeklarowano Nieustawione zadeklarowane parametry są undefined Dostęp do wszystkich parametrów poprzez obiekt arguments Funkcja może zwracać wartość (instrukcja return opcjonalna) Funkcje same są obiektami (!) Funkcję można przypisać do zmiennej lub składowej obiektu Funkcję można przekazać jako argument funkcji Funkcja może zwracać funkcję jako wynik Konstruktor - funkcja specjalna 19

20 Zasięg zmiennych: funkcji i bloku function testvar() { var x = 5; if (x == 5) { var x = 8; // ta sama zmienna o zasięgu funkcji console.log(x); // 8 console.log(x); // 8 function testlet() { let x = 5; if (x == 5) { let x = 8; // nowa zmienna, lokalna dla bloku kodu console.log(x); // 8 console.log(x); // 5 20

21 Programowanie funkcyjne var t = [3, 8, 9]; t.foreach(function(element) { console.log(element); ) var showelements = function(element) { console.log(element); ; t.foreach(showelements); function showelementdetails(element, index, array) { console.log('a[' + index + '] = ' + element); [2, 25,, 19].forEach(showElementDetails); 21

22 Programowanie funkcyjne (c.d.) var numbers = [3, 8, 9]; var squares = numbers.map(function(x) { return(x*x) ; ) console.log(squares); // [9, 64, 81] var numbers = [3, 8, 9]; var squares = numbers.map((x) => {return x*x; ) console.log(squares); // [9, 64, 81] var numbers = [3, 8, 9]; var squares = numbers.map( x => x*x ) console.log(squares); // [9, 64, 81] Funkcje strzałkowe (ES6) 22

23 Problem: Ograniczenie dostępu do zmiennych wykorzystywanych przez funkcję Zmienna globalna Możliwy dostęp z zewnątrz Zmienna lokalna w funkcji Odrębne instancje w kolejnych wywołaniach funkcji var counter = 0; function add() { counter += 1; add(); add(); // 2 function add() { var counter = 0; counter += 1; add(); add(); //??? * Przykład z w3schools.com 23

24 Domknięcie (ang. closure) Zagnieżdżona funkcja, która ma dostęp do lokalnych zmiennych funkcji nadrzędnej Również po zakończeniu działania funkcji nadrzędnej! Środowisko przechowuje nielokalne obiekty używane przez funkcję var add = (function () { var counter = 0; return function () {return counter += 1; )(); add(); add(); // 2 * Przykład z w3schools.com 24

25 Obiekty w JavaScript Obiekt = kolekcja dowolnych właściwości Właściwości mogą być dodawane i usuwane w czasie życia obiektu Właściwości mogą być funkcjami = metody obiektu var person = {firstname: "Marek", lastname: "Wojciechowski", hello: function() {console.log('hi!');; console.log(typeof(person)); // object person.hello(); console.log(person.firstname); console.log(person['firstname']); person.age = 43; person.bye = function() {console.log('bye!');; person.bye(); console.log(person.age); delete person.firstname; console.log(person.firstname); // undefined 25

26 Obiekty w JavaScript (c.d.) Obiekty mogą być używane jako mapy (tablice asocjacyjne) Operator in umożliwia sprawdzenie czy właściwość jest zdefiniowana w obiekcie Pętla for in iteruje po właściwościach Object.keys zwraca tablicę kluczy var person = {firstname: "Marek", lastname: "Wojciechowski"; for (var p in person) // firstname, lastname console.log(p); person["age"] = 43; delete person.firstname; for (var q in person) // lastname, age console.log(q); console.log("firstname" in person); // false console.log("lastname" in person); // true console.log(object.keys(person)); // ["lastname", "age"] 26

27 Gettery i settery w JavaScript var person = { firstname: 'Marek', lastname: 'Wojciechowski', get fullname() { return this.firstname + ' ' + this.lastname;, set fullname (fname) { var names = fname.tostring().split(' '); this.firstname = names[0] ''; this.lastname = names[1] ''; console.log(person.fullname) person.fullname = 'Jan Kowalski'; console.log(person.firstname); console.log(person.lastname) // Marek Wojciechowski // Jan // Kowalski 27

28 Enumerowalne i nie-enumerowalne właściwości Właściwości definiowane w obiektach poprzez przypisanie są enumerowalne Widoczne w pętli for in Zwracane przez Object.keys() var person = {firstname: "Marek"; person.lastname = "Wojciechowski"; person["age"] = 43; person.sayhi = function () { console.log("hi!"); ; for (var q in person) // firstname, lastname, age, sayhi console.log(q); Możliwe jest definiowanie właściwości nie-enumerowalnych za pomocą Object.defineProperty() 28

29 Object.defineProperty() Definiuje lub modyfikuje właściwość obiektu Składnia: Object.defineProperty(obj, property, descriptor) Atrybuty deskryptora: Dla danych (w tym funkcji) i akcesorów: configurable, enumerable Dla danych (w tym funkcji): value, writable Dla akcesorów: get, set var person = {firstname: "Marek", lastname: "Wojciechowski"; Object.defineProperty(person, "age", {enumerable: false, writable: true, value: 43); for (var q in person) // firstname, lastname console.log(q); console.log(object.keys(person)); // ["firstname", "lastname"] console.log(person.age); // 43 person.age=44; console.log(person.age); // 44 29

30 Konstruktory Funkcje wykorzystywane do tworzenia obiektów Wywoływane poprzez operator new Umożliwiają programową inicjalizację obiektu Niejawnie zwracają nowo tworzony obiekt Mają dostęp do zmiennej this wskazującej na bieżący obiekt Zapewniają jednolitą strukturę i funkcjonalność obiektów danego rodzaju (w momencie ich utworzenia) function Rabbit(type) { this.type = type; var killerrabbit = new Rabbit("killer"); var blackrabbit = new Rabbit("black"); console.log(blackrabbit.type); // black 30

31 Metody obiektów Metody można dodawać dynamicznie do obiektów Obiekty utworzone tym samym konstruktorem mogą później różnić się funkcjonalnością Jak zapewnić na starcie ten sam zestaw metod obiektom danego rodzaju? Można dodać metody w ciele konstruktora Obiekty będą miały własny zestaw tych samych metod function Rabbit(type) { this.type = type; this.speak = function(line) { console.log("the " + this.type + " rabbit says '" + line + "'"); ; Lepszym rozwiązaniem jest wykorzystanie prototypu Zestaw metod w prototypie współdzielony przez obiekty na nim oparte 31

32 Prototypy Prototyp (ang. prototype) to w JavaScript to obiekt który dla danego obiektu stanowi zapasowe źródło właściwości Prototypem większości obiektów w JS jest Object.prototype Dostarcza kilka metod np. tostring(), valueof() Jego właściwości są nie-enumerowalne Prototypy tworzą drzewiastą hierarchię Odpowiednik hierarchii dziedziczenia klas Odczyt prototypu: Object.getPrototypeOf() Tworzenie obiektu z prototypu: Object.create(prototyp); Zmiana prototypu (ES6): Object.setPrototypeOf() Operacja czasochłonna, niezalecana Rozróżnienie własnych i odziedziczonych właściwości: hasownproperty(), Object.getOwnPropertyNames(), Object.getOwnPropertyDescriptor() 32

33 Konstruktory i prototypy Konstruktory (jak inne funkcje) posiadają właściwość prototype Umożliwia ona przypisanie zestawu metod, które mają być dostępne dla obiektów tworzonych danym konstruktorem Uwaga: NIE jest to prototyp funkcji jako obiektu (prototypem funkcji jest domyślnie Function.prototype) function Rabbit(type) { this.type = type; Rabbit.prototype.speak = function(line) { console.log("the " + this.type + " rabbit says '" + line + "'"); ; var blackrabbit = new Rabbit("black"); blackrabbit.speak("hi!!!"); 33

34 Klasy (ES6) Inny sposób definiowania funkcji konstruktorowych z prototypami Składnia bardziej naturalna dla programistów migrujących z języków C++, C#, Java Klasy w JS nie są obiektami, tylko funkcjami class Shape { constructor (id, x, y) { this.id = id this.move(x, y) move (x, y) { this.x = x this.y = y var shape = new Shape(101, 10, 20); 34

35 Dziedziczenie (ES6) Bardziej intuicyjna składnia niż przy dziedziczeniu funkcjonalności obiektów z prototypów class Rectangle extends Shape { constructor (id, x, y, width, height) { super(id, x, y) this.width = width this.height = height class Circle extends Shape { constructor (id, x, y, radius) { super(id, x, y) this.radius = radius 35

36 Metody statyczne (ES6) Wołane ZAWSZE na rzecz klasy, dziedziczone class First { static show () { console.log("first") First.show() class Second extends First { static show() { console.log("second extends") super.show() Second.show() 36

37 Gettery i settery w klasach (ES6) class Rectangle { constructor (width, height) { this._width = width this._height = height set width(width) { this._width = width get width() { return this._width set height(height) { this._height = height get height() { return this._height get area() { return this._width * this._height var r = new Rectangle(5, 3) r.width = 6 console.log(r.area) Problem prywatności wewnętrznych składowych 37

38 Obsługa wyjątków Instrukcja throw Rzucić można wszystko (np. number, string), ale zalecane rzucanie obiektów Error lub podtypów Natywne typy wyjątków EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError Instrukcja try/catch/finally Po try musi być blok catch lub finally (mogą być oba) finally wykonuje się niezależnie od tego czy w bloku try wystąpił wyjątek czy nie W bloku catch można sprawdzić rodzaj wyjątku operatorem instanceof 38

39 Wyjątki Przykład (ES6) class MyError extends Error { constructor(m) { super(m); this.name = this.constructor.name; try { throw new MyError("Fatal error"); catch (e) { if (e instanceof MyError) { console.log(e.message); // Fatal error console.log(e.name); // MyError else console.log('unknown Error'); 39

40 JSON (JavaScript Object Notation) Tekstowy format danych do reprezentacji i transmisji obiektów zawierających pary atrybut:wartość Wywodzi się z języka JavaScript (serializacja obiektów) Obecnie parsowanie i generacja JSON wspierane przez różne języki programowania Wiele różnych zastosowań RESTful Web Services AJAX (AJAJ) Bazy danych NoSQL Typ MIME: application/json Rozszerzenie pliku:.json 40

41 Składnia i typy danych JSON Podstawowe typy danych Number (NaN niedozwolony, nierozróżnialne całk. i zmiennoprzec.)) String (Unicode, cudzysłowy jako ograniczniki, \ jako escape) Boolean (true/false) Obiekty: { atrybut1 :wartość1, atrybut2 :wartość2, Tablice: [element1, element2, ] null Białe spacje nie mają znaczenia Brak możliwości komentarzy 41

42 JSON - Przykład { "firstname": "Marek", "lastname": "Wojciechowski", "age": 43, "married": true, "languages": [ "Polish", "English", "German", "Russian", "Spanish" ], "phonenumber": { "type": "mobile", "number": " " 42

43 Generacja JSON w JavaScript JSON.stringify(value[, replacer[, space]]) Zwraca String reprezentujący przekazaną wartość Opcjonalne parametry umożliwiają: Zmianę zachowania procesu serializacji Dodanie białych spacji dla czytelności Uwagi o sposobie działania: Nie gwarantuje zachowania kolejności właściwości obiektów niebędących tablicami Obiekty typów String, Boolean i Number są zamieniane na odpowiadające wartości proste Wartości undefined i funkcje są: W obiektach: pomijane W tablicach: zamieniane na null Nie-enumerowalne właściwości (niewidoczne dla pętli for in) są ignorowane 43

44 Parsowanie JSON w JavaScript JSON.parse(text[, reviver]) Wynikiem jest Object Gdy parsowany tekst nie jest poprawnym zapisem JSON, rzucany jest wyjątek SyntaxError Opcjonalna funkcja reviver umożliwia transformację parsowanych wartości eval() Funkcja do wartościowania dynamicznych wyrażeń Wykorzystuje fakt, że składnia JSON jest (prawie) podzbiorem składni JavaScript Potencjalnie niebezpieczna jeśli tekst do parsowania pochodzi z niepewnego źródła (np. zagnieżdżone funkcje) 44

45 Parsowanie i generacja JSON w JavaScript - Przykład var person = {firstname: "Marek", lastname: "Wojciechowski", age: 43, salary: undefined, married: true, languages: ['Polish','English','German']; console.log(json.stringify(person)); var json = '{"firstname":"marek","lastname":"wojciechowski",' + '"age":43,"married":true,' + '"languages":["polish","english","german"]; person1 = JSON.parse(json); console.log(person1.firstname); person2 = eval('(' + json + ')'); // w ogólności niebezpieczne console.log(person2.firstname); 45

46 Terminologia dotycząca JS Minification Obfuscation Vanilla JS Unobtrusive JS Polyfill 46

Programowanie obiektowe

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

Bardziej szczegółowo

Tworzenie Stron Internetowych. odcinek 10

Tworzenie Stron Internetowych. odcinek 10 Tworzenie Stron Internetowych odcinek 10 JavaScript JavaScript (ECMAScript) skryptowy język programowania powszechnie używany w Internecie. Skrypty JS dodają do stron www interaktywność i funkcjonalności,

Bardziej szczegółowo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

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

Bardziej szczegółowo

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

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych

Bardziej szczegółowo

Inne podejścia obiektowe. Referat na seminarium magisterskie Zagadnienia Programowania Obiektowego Dymitr Pszenicyn

Inne podejścia obiektowe. Referat na seminarium magisterskie Zagadnienia Programowania Obiektowego Dymitr Pszenicyn Inne podejścia obiektowe Referat na seminarium magisterskie Zagadnienia Programowania Obiektowego Dymitr Pszenicyn Wprowadzenie Obiektowość oparta na prototypowaniu w językach programowania obiektowego

Bardziej szczegółowo

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 (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje na logice Objective-C bez kompatybilności

Bardziej szczegółowo

JavaScript - korzenie

JavaScript - korzenie JavaScript - korzenie Dowiesz się o historii JavaScript, jego dialektach i wersjach. Poznasz złe i dobre strony języka, a gdy zaskoczy Cię działanie któregoś z jego elementów, będziesz wiedział, gdzie

Bardziej szczegółowo

PHP: bloki kodu, tablice, obiekty i formularze

PHP: bloki kodu, tablice, obiekty i formularze 1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują

Bardziej szczegółowo

JavaScript. Wstęp do podstaw elementów. dr inż. Paweł Boiński, Politechnika Poznańska

JavaScript. Wstęp do podstaw elementów. dr inż. Paweł Boiński, Politechnika Poznańska JavaScript Wstęp do podstaw elementów dr inż. Paweł Boiński, Politechnika Poznańska Wprowadzenie Historia Maj 1995-10 dni, Mocha, Netscape Wrzesień 1995 - Mocha -> LiveScript Grudzień 1995 - LiveScript

Bardziej szczegółowo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

Bardziej szczegółowo

Języki skryptowe w programie Plans

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

Bardziej szczegółowo

JavaScript funkcyjność

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:

Bardziej szczegółowo

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

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

Bardziej szczegółowo

KOTLIN. Język programowania dla Androida

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

Bardziej szczegółowo

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

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,

Bardziej szczegółowo

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2] 1. CEL ĆWICZENIA Celem ćwiczenia jest przedstawienie możliwości wykorzystania języka JavaScript do tworzenia interaktywnych aplikacji działających po stronie klienta. 2. MATERIAŁ NAUCZANIA JavaScript tak

Bardziej szczegółowo

SWIFT. Zaawansowane Programowanie Obiektowe

SWIFT. Zaawansowane Programowanie Obiektowe SWIFT Zaawansowane Programowanie Obiektowe Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje

Bardziej szczegółowo

PROGRAMOWANIE W ŚRODOWISKU FLASH wykład 2

PROGRAMOWANIE W ŚRODOWISKU FLASH wykład 2 PROGRAMOWANIE W ŚRODOWISKU FLASH wykład 2 Paweł Woszkowski SWSIM 2009 ADOBE ACTIONSCRIPT Programming language of the Adobe Flash Platform. Originally developed as a way for developers to program interactivity,

Bardziej szczegółowo

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. - 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

Bardziej szczegółowo

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 (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje na logice Objective-C bez kompatybilności

Bardziej szczegółowo

Test przykładowy 2 PAI WSB Wrocław /06/2018

Test przykładowy 2 PAI WSB Wrocław /06/2018 Imię i Nazwisko: Student ID: Part 1: (Prawda lub Fałsz (T lub F)) 15. Która z poniższych deklaracji funkcji jest nieprawidłowa: A. function Sum(a, b, c){; B. function Sum(var a, var b); C. function Sum(a){;

Bardziej szczegółowo

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

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

Programowanie obiektowe

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;

Bardziej szczegółowo

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. 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,

Bardziej szczegółowo

JS:Obiekty, tablice, JSON

JS:Obiekty, tablice, JSON 1 JS:Obiekty, tablice, JSON SYSTEMY SIECIOWE Michał Simiński 2 Obiekty i takblice Jak to wygląda z tymi obiektami? Tablice w JS Tablice w JS, czyli obiekty Tablice w JS metody Tablice w JS sortowanie Jak

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu

Bardziej szczegółowo

Programowanie obiektowe

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Platformy Programistyczne Podstawy języka Java

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

Bardziej szczegółowo

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/

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

Bardziej szczegółowo

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

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

Krótki kurs JavaScript

Krótki kurs JavaScript Krótki kurs JavaScript Java Script jest językiem wbudowanym w przeglądarkę. Gdy ma się podstawy nabyte w innych językach programowania jest dość łatwy do opanowania. JavaScript jest stosowany do powiększania

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Wykład 3 Składnia języka C# (cz. 2) Wizualne systemy programowania Wykład 3 Składnia języka C# (cz. 2) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Metody 2 Metody W C# nie jest

Bardziej szczegółowo

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

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych 1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje

Bardziej szczegółowo

Programowanie obiektowe

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

Bardziej szczegółowo

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

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

Programowanie obiektowe

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ąć

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Wykład 2 Składnia języka C# (cz. 1) Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu

Bardziej szczegółowo

Podstawowe części projektu w Javie

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

Bardziej szczegółowo

Serwer WWW Apache. http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, 2.2.25, 2.0.65 zakończony projekt

Serwer WWW Apache. http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, 2.2.25, 2.0.65 zakończony projekt Serwer WWW Apache http://httpd.apache.org/ Plik konfiguracyjny httpd.conf Definiujemy m.in.: Katalog który ma być serwowany Moduły, które mają zostać uruchomione na serwerze m.in. PHP, mod_rewrite Wirtualne

Bardziej szczegółowo

Microsoft IT Academy kurs programowania

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

Bardziej szczegółowo

XML extensible Markup Language. część 5

XML extensible Markup Language. część 5 XML extensible Markup Language część 5 XML ważne zastosowanie Jak często pracujemy z plikami XML? Wróćmy jeszcze do wykładu poprzedniego. A dokładnie do pliku zawierającego ten wykład. xml_2017_wyklad_4.pptx

Bardziej szczegółowo

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

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

Bardziej szczegółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

Techniki WWW. (HTML, CSS, JavaScript) Dr inż. Marcin Zieliński WYKŁAD 6. Środa 15:30-17:00 sala: A-1-04

Techniki WWW. (HTML, CSS, JavaScript) Dr inż. Marcin Zieliński WYKŁAD 6. Środa 15:30-17:00 sala: A-1-04 Techniki WWW (HTML, CSS, JavaScript) Dr inż. Marcin Zieliński WYKŁAD 6 Środa 15:30-17:00 sala: A-1-04 Wykład dla kierunku: Informatyka Stosowana II rok Rok akademicki: 2016/2017 - semestr zimowy Przypomnienie

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 4

PARADYGMATY PROGRAMOWANIA Wykład 4 PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej

Bardziej szczegółowo

Programowanie Komputerów

Programowanie Komputerów Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 28 1. Tablice w C# Indeksowane od zera

Bardziej szczegółowo

Klasy cd. Struktury Interfejsy Wyjątki

Klasy cd. Struktury Interfejsy Wyjątki Klasy cd. Struktury Interfejsy Wyjątki Struktury Struktura pozwala na zdefiniowanie typu danych, który nie charakteryzuje się zbyt złożoną funkcjonalnością (np. punkt, kolor, etc). Do definiowania struktury

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript

Bardziej szczegółowo

Lekcja 1. Składnia języka zmienne i podstawowe instrukcje PHP. Do wyświetlania tekstu służy instrukcja echo echo Hello world ;

Lekcja 1. Składnia języka zmienne i podstawowe instrukcje PHP. Do wyświetlania tekstu służy instrukcja echo echo Hello world ; Do wyświetlania tekstu służy instrukcja echo echo Hello world ; PHP język ze słabą kontrolą typów. W języku php w przeciwieństwie do c++ nie musimy podawać typu zmiennej podczas jej deklaracji. Tworzenie

Bardziej szczegółowo

Funkcje i instrukcje języka JavaScript

Funkcje i instrukcje języka JavaScript Funkcje i instrukcje języka JavaScript 1. Cele lekcji a) Wiadomości Uczeń : zna operatory i typy danych języka JavaScript, zna konstrukcję definicji funkcji, zna pętlę If i For, Do i While oraz podaje

Bardziej szczegółowo

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

Programowanie w środowiskach graficznych. Wykład 3 Język C# Programowanie w środowiskach graficznych Wykład 3 Język C# 1 Zagadnienia 1. Wprowadzenie 2. Przestrzenie nazw 3. Typy, parametry, konwersje 4. Klasy 5. Instrukcje sterujące 6. Właściwości 7. Interfejsy,

Bardziej szczegółowo

CZYM JEST JAVASCRIPT?

CZYM JEST JAVASCRIPT? JAVASCRIPT JAVASCRIPT - CECHY Język skryptowy stosowany w sieci WWW Stosowany przez autorów witryn WWW głównie w celu: poprawy wyglądu stron walidacji danych z formularzy wykrywania typu przeglądarki tworzenia

Bardziej szczegółowo

Programowanie obiektowe

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

Bardziej szczegółowo

Wykład 8: klasy cz. 4

Wykład 8: klasy cz. 4 Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD

Bardziej szczegółowo

Dawid Gierszewski Adam Hanasko

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{

Bardziej szczegółowo

1 Atrybuty i metody klasowe

1 Atrybuty i metody klasowe 1 Atrybuty i metody klasowe Składowe klasowe (statyczne) Każdy obiekt klasy posiada własny zestaw atrybutów. Metody używają atrybutów odpowiedniego obiektu. Czasem potrzeba atrybutów wspólnych dla wszystkich

Bardziej szczegółowo

Systemy internetowe. Wykład 3 PHP. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Systemy internetowe. Wykład 3 PHP. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science Systemy internetowe Wykład 3 PHP PHP - cechy PHP (Hypertext Preprocessor) bardzo łatwy do opanowania, prosta składnia, obsługuje wymianę danych z różnymi systemami baz danych pozwala na dynamiczne generowanie

Bardziej szczegółowo

Programowanie Obiektowe Ćwiczenie 4

Programowanie Obiektowe Ćwiczenie 4 Programowanie Obiektowe Ćwiczenie 4 1. Zakres ćwiczenia wyjątki kompozycja 2. Zagadnienia Założeniem, od którego nie należy odbiegać, jest by każdy napotkany problem (np. zatrzymanie wykonywanej metody)

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Język PHP Paweł Witkowski Wydział Matematyki, Informatyki i Mechaniki Jesień 2011 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki) BDiUS w. VIII Jesień 2011 1 /

Bardziej szczegółowo

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź JAVASCRIPT PODSTAWY materiały dydaktyczne dla uczniów słuchaczy opracowanie: 2004-2007 by Arkadiusz Gawełek, Łódź 1. Czym jest JavaScript JavaScript tak naprawdę narodził się w firmie Netscape jako LiveScript,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Klasy abstrakcyjne, interfejsy i polimorfizm

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

Bardziej szczegółowo

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

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

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 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....................................................................................

Bardziej szczegółowo

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu. Zrozumienie funkcji danych statycznych jest podstawą programowania obiektowego. W niniejszym artykule opiszę zasadę tworzenia klas statycznych w C#. Oprócz tego dowiesz się czym są statyczne pola i metody

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Aplikacje WWW. Statyczne oraz dynamiczne strony WWW. Skrypty po stronie klienta. Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki

Bardziej szczegółowo

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów

Bardziej szczegółowo

Umieszczanie kodu. kod skryptu

Umieszczanie kodu. kod skryptu PHP Definicja PHP jest językiem skryptowym służącym do rozszerzania możliwości stron internetowych. Jego składnia jest bardzo podobna do popularnych języków programowania C/C++, lecz jest bardzo uproszczona

Bardziej szczegółowo

Wstęp do ruby dla programistów javy

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

Bardziej szczegółowo

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

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop. 2017 Spis treści Przedmowa 11 1. Jak w programie 21 Czym jest program? 21 Uruchamianie interpretera języka Python 22 Pierwszy

Bardziej szczegółowo

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty) Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty) // to jest pojedynczy komentarz (1-linijkowy) to jest wielolinijkowy komentarz Budowa "czystego" skryptu PHP (tak

Bardziej szczegółowo

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

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

Bardziej szczegółowo

1. Prawie wszystko jest obiektem (poza nullem i 'undefined'). 3. Dostęp do metod uzyskuje się analogicznie do właściwości:

1. Prawie wszystko jest obiektem (poza nullem i 'undefined'). 3. Dostęp do metod uzyskuje się analogicznie do właściwości: 1. Prawie wszystko jest obiektem (poza nullem i 'undefined'). 2. Dostawanie się do właściwości przez kropkę: obiekt.nazwawlasciwosci; Przykład: var msg = "hello world!"; var x = msg.length; 3. Dostęp do

Bardziej szczegółowo

Należy ściągnąć oprogramowanie Apache na platformę

Należy ściągnąć oprogramowanie Apache na platformę Programowanie Internetowe Język PHP - wprowadzenie 1. Instalacja Oracle+Apache+PHP Instalacja Apache, PHP, Oracle Programy i ich lokalizacja Oracle Database 10g Express Edition10.2 http://www.oracle.com/technology/products/database/

Bardziej szczegółowo

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w obrębie skryptu. Wyrażenia include() i require() są niemal

Bardziej szczegółowo

Polimorfizm. dr Jarosław Skaruz

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

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.2.

Języki programowania wysokiego poziomu. PHP cz.2. Języki programowania wysokiego poziomu PHP cz.2. Instrukcje strukturalne PHP Instrukcje strukturalne Instrukcja grupująca (blok instrukcji) Instrukcja warunkowa, if-else Instrukcja wyboru, switch-case

Bardziej szczegółowo

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 (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje na logice Objective-C bez kompatybilności

Bardziej szczegółowo

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

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

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

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego Iwona Kochaoska Programowanie Obiektowe Programowanie obiektowe (ang. object-oriented programming) - metodyka tworzenia programów komputerowych,

Bardziej szczegółowo

Definicje klas i obiektów. Tomasz Borzyszkowski

Definicje klas i obiektów. Tomasz Borzyszkowski Definicje klas i obiektów Tomasz Borzyszkowski Podstawy Do tej pory używaliśmy klas jedynie po to, by zdefiniować metodę main(). Klasy mają znacznie szersze zastosowanie w Java. W OOP (także w Java) klasy

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Redis, skrypty w języku Lua

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

Bardziej szczegółowo

Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft );

Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft ); Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft ); Dobrą praktyką jest używanie wielkich liter jako nazw stałych. Nie jest

Bardziej szczegółowo

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

media Blitz wydajne sytemy szablonów

media Blitz wydajne sytemy szablonów Blitz wydajne sytemy szablonów Dlaczego stosować szablony? MVC Kontroler Model Widok Co to jest Blitz? Rozszerzenie PHP stworzone przez Alexey A. Rybak a. Regularnie rozwijany od 2005 roku. Szybki i lekki

Bardziej szczegółowo

Typy zmiennych proste i złożone. Programowanie komputerów. Tablica. Złożone typy zmiennych. Klasa. Struktura

Typy zmiennych proste i złożone. Programowanie komputerów. Tablica. Złożone typy zmiennych. Klasa. Struktura Programowanie komputerów Programowanie obiektowe. Typy zmiennych proste i złożone Typy zmiennych "wbudowane", tj. identyfikowane przez słowa kluczowe, są określane jako proste: int short long float double

Bardziej szczegółowo

HTML, Javascript, CSS oraz Bootstrap

HTML, Javascript, CSS oraz Bootstrap HTML, Javascript, CSS oraz Bootstrap Adresaci szkolenia: Kurs przeznaczony jest dla programistów pragnących poszerzyć swoje kompetencje w zakresie tworzenia aplikacji webowych. W ramach szkolenia zostaną

Bardziej szczegółowo

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

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ł 6 JavaScript w przeglądarce Agenda Skrypty na stronie internetowej Model DOM AJAX Skrypty na stronie

Bardziej szczegółowo

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

Bardziej szczegółowo

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

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

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6 JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe IV. Interfejsy i klasy wewnętrzne Małgorzata Prolejko OBI JA16Z03 Plan Właściwości interfejsów. Interfejsy a klasy abstrakcyjne. Klonowanie obiektów. Klasy wewnętrzne. Dostęp do

Bardziej szczegółowo