Wykład 2 Programowanie obiektowe. Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy.

Slides:



Advertisements
Podobne prezentacje
Funkcje w PHP ABK.
Advertisements

C++ wykład 2 ( ) Klasy i obiekty.
Język C/C++ Funkcje.
Deklaracje i definicje klas w C++ Składowe, pola, metody Konstruktory
Programowanie obiektowe
Wzorce.
Wprowadzenie do języka skryptowego PHP
Wprowadzenie do języka skryptowego PHP – cz. 2
Narzędzia internetowe Paweł Rajba ttp://pawel.ii.uni.wroc.pl/
PROGRAMOWANIE STRUKTURALNE
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
Podstawy informatyki Wirtotechnologia – Wskaźniki i referencje
Podstawy informatyki Powtórka Grupa: 1A Prowadzący: Grzegorz Smyk
Kurs Pascala – spis treści
C++ wykład 2 ( ) Klasy i obiekty.
Wykład 2 struktura programu elementy języka typy zmienne
Wstęp do programowania obiektowego
Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję
Made by Mateusz Szirch Kilka słów o JavaScript.
Podstawy programowania
Andrzej Jędryczkowski Nie da się napisać większego programu bez podziału go na części zwane podprogramami. Podprogram to wyróżniona część programu.
A ctive S erver P ages Technologia dostępu do danych.
Wstęp do JavaScriptu Marek Magiera Październik 2003r.
Podstawy informatyki Struktury, operatory, wyjątki
ZESTAW DO NAUKI JAVASCRIPT
TECHNOLOGIE INTERNETOWE
Automatyka i Robotyka Systemy czasu rzeczywistego Wykład 4.
Jerzy F. Kotowski1 Informatyka I Wykład 14 DEKLARATORY.
Andrzej Repak Nr albumu
Dziedziczenie Maciek Mięczakowski
Inicjalizacja i sprzątanie
Programowanie obiektowe Wykład 6 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski.
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
Programowanie obiektowe 2013/2014
Zajęcia I Organizacja zajęć Rejestracja i uruchamianie makr
Prasek Aneta, Skiba Katarzyna. Funkcje stałe const to takie funkcje, które nie mogą modyfikować stanu obiektu. Oznacza to, że funkcja stała nie może zmieniać.
Projektowanie stron WWW
Wykład 3 Programowanie obiektowe. Dokument HTML składa się z obiektów (standardowych i utworzonych przez użytkownika). Głównym obiektem jest document,
J A V A S C R I P T Obiekty Opracowała: Anna Śmigielska.
Programowanie strukturalne i obiektowe C++
Obiekty DOM.
Podstawy języka skryptów
Wprowadzenie do PHP SYSTEMY TELEINFORMATYCZNE Wykład 5 AiR 5r.
Technologie internetowe
Iga Lewandowska I EMII MU
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
Wykład 4 Programowanie obiektowe. Tworzenie własnych obiektów Słowo kluczowe this W JavaScript można tworzyć własne obiekty. Wykorzystuje się tu zapis.
HTML 5.0. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 2 Program Literatura Historia HTML Koncepcja HTML.
Aplikacje internetowe Posługiwanie się ramkami. Zastosowanie ramek Wprowadzenie obsługi ramek w przeglądarce Netscape 2.0 otworzyło nową erę dla twórców.
Partnerstwo dla Przyszłości 1 Lekcja 27 Klasy i obiekty.
Wykład 5 Informatyka MPDI 3 semestr Język JavaScript.
Pakiety numeryczne Skrypty, funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
Excel 2007 dla średniozaawansowanych Zajęcia z Prowadzący: Artur Kołos.
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Temat: Tworzenie bazy danych
Wykład 4 Dr Aneta Polewko-Klim
Strumienie, Wczytywanie, Zapisywanie, Operacje na plikach
Typy wyliczeniowe, kolekcje
Klasy, pola, obiekty, metody. Modyfikatory dostępu, hermetyzacja
Programowanie Obiektowe – Wykład 2
Aplikacje i usługi internetowe
Dane, zmienne, instrukcje
Haskell Składnia funkcji.
PGO - Projektowanie i implementacja pierwszych klas
Zapis prezentacji:

Wykład 2 Programowanie obiektowe

Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy definiować metody obiektowe.. Zwykle umieszczamy je między znacznikami: w sekcji HEAD dokumentu HTML. Pozwala to na załadowanie ich na samym początku, aby dowolny skrypt wykorzystujący funkcję w jodzie strony na stronie mógł od razu być wykonywany przez przeglądarkę. Funkcje są definiowane przez określenie ich nazwy, argumentów i sposobu działania. Definicja i wykonanie funkcji

function srednia(a, b){ x=(a+b)/2; return x; } //teraz dwukrotne wykonanie funkcji document.write(srednia(5, 9)," "); document.write(srednia(3.6, 3.8)); Przykład 1

W ramach skryptu w bloku HEAD można oczywiście zdefiniować wiele funkcji, muszą mieć unikalne nazwy. Funkcje mogą mieć wiele argumentów (różnych typów). To co funkcja ma zrobić po wywołaniu, jest zdefiniowane między nawiasami { }. Po słowie kluczowym return określamy co ma zwrócić wykonanie funkcji (tu:obliczoną wartość x), stąd w dalszej części skryptu zwróconą wartość funkcji wyświetlamy z wykorzystaniem document.write

Funkcja z reguły zwraca jedną, elementarną wartość. Możliwy jest zwrot wielu wartości, trzeba wykorzytać tablicę.

function tab2(a,b){ var x=new Array( ) x[1]=(a+b)/2; x[2]=(a-b)/2; return x; } //teraz wykonanie funkcji a= tab2 (10, 8 ) ; //wykonanie funkcji, wynik przechowaj w zmiennej a document.write(a[1]," "); document.write(a[2]); definicja działania funkcji Przykład 2

Tworzenie pustej tablicy: nazwaTablicy = new Array() lub nazwaTablicy = [ ] Ustalenie rozmiaru tablicy: Tablica = new Array(10) Możemy też utworzyć tablicę, od razu wstawiając do niej wartości: NazwaTablicy = new Array("Marek","Ania","Agnieszka") lub NazwaTablicy = ["Marek","Ania","Agnieszka"] Tab_licz=[1,2,3,4,5,6,7,8,9,10] Tablice – przypomnienie…

Możemy też tworzyć tablice wielowymiarowe - czyli tablice w tablicach. Możemy wtedy stworzyć tablicę, w której w każdym elemencie będzie inna tablica przykładowo: Tablice wielowymiarowe Tablica = [ ]; Tablica[0] = [1, 183, 7]; Tablica[1] = [2, 173, 17]; Tablica[2] = [3, 170, 23]; Przykład3

function dlugosc(a){ x=a.length return x; } document.write(dlugosc("Wschodnioeuropejska")," "); Argument tekstowy funkcji Tak jak Math jest obiektem wbudowanym, jest nim też String – posiada metodę length

Funkcje mogą być zapisane w osobnym pliku, np. plik.js Wówczas należy w dokumencie HTML w sekcji HEAD umieścić zapis: plik z funkcjami (w bieżącym folderze)

document.write( dlugosc('Wschodnioeuropejska')," "); function dlugosc(a){ x=a.length return x;} /* i inne funkcje */ Plik funkcje.js Plik index.html przykład

Można wykonać funkcję w reakcji na zdarzenie, np. umieszczając ją w atrybucie onclick dowolnego elementu (znacznika): function nacisnij(x ) {alert(x); } Interakcyjne wykonywanie funkcji Przykład 5

function nacisnij(a) { document.write(a); } To samo, lecz z przekazaniem danych do funkcji obiekt o identyfikatorze in1 ma właściwość value, która zawiera wpisaną w pole tekstowe wartość Przykład 6 użycie troszkę bardziej skomplikowane

Jednak jest tu pewna pułapka, ze względu na tekstowy typ danych function nacisnij(a,b) { alert(a+b); } Odbędzie się "sumowanie" tekstów, czyli tzw. konkatenacja 22"2"+"2" Przykład 7

Ratunek – konwersja tekstów na liczbę function nacisnij(a,b) { document.write(Number(a)+Number(b)); } 42+2 Zatem trzeba uważać na typ danych, szczególnie przy dodawaniu!! obiekt document ma metodę Number – konwersja typu tekstowego na typ liczbowy (jeśli się to da zrobić!)

Wbudowany typ obiektowy Date (podobnie jak i Math) posiada pewne umiejętności - może operować z datą i czasem (lata, dni, godziny, minuty, sekundy i… dokładniej). Poznamy sposoby użycia obiektów klasy Date Klasa już jest zdefiniowana Zasada: JavaScript przechowuje daty jako liczby milisekund, które upłynęły od 1 stycznia 1970, godz. 00:00:00. Obiekt Date

var zmienna1 = new Date( ) // jest zwracana bieżąca data var zmienna2 = new Date(r, m, d,g, min, sek, milisekundy) // dowolna data i czas Właściwości klasa Date być może ma (rok, miesiąc, dzień itd.), ale nie ma do nich innego dostępu jak tylko wykorzystując metody. Oto te metody: Tworzymy obiekty typu Date….

getDate() pobiera dzień miesiąca dla ustalonej daty (liczba całkowita z zakresu 1-31) getDay() pobiera dzień tygodnia dla ustalonej daty (liczba całkowita, od 0=Niedziela do 6=Sobota) getHours() pobiera godzinę dla ustalonej daty (liczba całkowita z zakresu 0- 23) getMinutes() pobiera minuty dla ustalonej daty (liczba całkowita z zakresu 0- 59) getMonth() pobiera miesiąc dla ustalonej daty (liczba całkowita z zakresu 0..11) getSeconds() pobiera sekundy dla bieżącego czasu (liczba całkowita z zakresu 0-59) getTime()oblicza liczbę milisekund od 1 stycznia :00:00 getFullYear()pobiera rok dla ustalonej daty (liczba 4-cyfrowa) getMiliseconds()wyświetla liczbę milisekund od 1/1/70 00:00:00 do podanej daty Metody typu "get" - pobierz

setDate()ustawia dzień miesiąca dla aktualnego obiektu Date setHours()ustawia godzinę dla aktualnego obiektu Date setMinutes()ustawia minuty dla aktualnego obiektu Date setMonth()ustawia miesiąc dla aktualnego obiektu Date setSeconds()ustawia liczbę sekund dla aktualnego obiektu Date setTime() ustawia datę i godzinę dla aktualnego obiektu Date, w milisekundach od 1/1/70 00:00:00 setFullYear()ustawia rok dla aktualnego obiektu Date (rok jest liczbą całkowitą większą od 1900) Metody typu "set" - ustaw

Jak te metody wykorzystujemy? PrzykładPrzykład var data1 = new Date() //mamy obiekt daty dzisiejszej document.write("Dziś jest:",data1.getDate()," ") document.write("Dzień tygodnia (0=N do 6=Sob):",data1.getDay()," ") //zmieniamy dzień data1.setDate(31) document.write("Zmiana na 31:", data1.getDate()," ") document.write("Dzień tygodnia (0=N do 6=Sob):",data1.getDay()," ")

A co będzie gdy wstawimy dzień 32? var data1 = new Date() //mamy obiekt daty dzisiejszej document.write("Dziś jest:",data1.getDate()," ") document.write("Dzień tygodnia (0=N do 6=Sob):",data1.getDay()," ") //zmieniamy dzień data1.setDate(32) document.write("Zmiana na 32:", data1.getDate()," ") document.write("Dzień tygodnia (0=N do 6=Sob):",data1.getDay()," ")

Czyli metody "get" służą do pobierania wartości z pól obiektu, metody "set" służą do nadawania wartości polom obiektu

var t1=new Date( ) document.writeln("Czas aktualny: ",t1.getHours(),":",t1.getMinutes( ),":", t1.getSeconds()); var t2 = new Date(1981,11,13,0,0,0) ; //nowy obiekt – uwaga! miesiąc grudzień - 11 document.write(" Stara data to: ", t2.getDate(),"-",t2.getMonth( )+1,"-", t2.getFullYear()); document.write(" Był to dzień tygodnia: "+t2.getDay( )); var inna = new Date( ) ;//nowy obiekt Date inna.setFullYear(2013); inna.setDate(1); inna.setMonth(10);//listopad document.write(" Inna data to: ", inna.getDate( ),"-", inna.getMonth()+1,"- ", inna.getFullYear( )); Przykład Inny przykład

var t1=new Date( ) x=t1.getTime (); document.writeln("Czas milisekundowy:",x," "); x/=1000 x/=60 x/=24 x/=365 document.writeln("Od 1970 minęło ok. : ",x," lat); Ile milisekund upłynęło od ?

Sterowanie czasowe (prosty stoper) licznik=0;//początkowy licznik function stoper( ) { //wstaw aktualny licznik jako tekst elementu T1 document.getElementById('T1').innerHTML=licznik; //zwiększ licznik o 1 licznik++; // po 1 sekundzie jeszcze raz wykonaj funkcję stoper( ) t=setTimeout("stoper()",1000); } stoper( ) //uruchomienie stopera nauczymy się niebawem dostępu do elementów wizualizacyjnych i manewrowania nimi przykład