Wprowadzenie do programowaia w języku Java. dr Dariusz Pałka

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

Download "Wprowadzenie do programowaia w języku Java. dr Dariusz Pałka email: dpalka@up.krakow.pl"

Transkrypt

1 Wprowadzenie do programowaia w języku Java dr Dariusz Pałka

2 Dlaczego Java?* W oparciu o technologię Java pracuje 4,5 mld. urządzeń Ponad 800 mln. komputerów 2,1 mld. telefonów komórkowych i innych urządzeń przenośnych 3,5 mld kart chipowych dekodery TV, drukarki, kamery internetowe, gry, samochodowe systemy nawigacji, terminale loteryjne, urządzenia medyczne, parkomaty i inne *Na podstawie strony (z dnia )

3 Dlaczego Java? cd Java została wybrana przez ponad 6,5 mln. programistów Pozwala na: uruchamianie programów pisanych na jednej platformie na praktycznie dowolnej innej platformie (na której istnieje VMJ) tworzenie programów, możliwych do uruchomienia z poziomu przeglądarki internetowej i usług sieciowych łączenie aplikacji lub usług wykorzystujących język Java w celu stworzenia aplikacji i usług ściśle dostosowanych do potrzeb

4 Dlaczego Java? cd Pozwala na: opracowywanie aplikacji serwerowych obsługujących fora internetowe, sklepy internetowe, ankiety, formularze HTML i wiele innych łączenie aplikacji lub usług wykorzystujących język Java w celu stworzenia aplikacji i usług ściśle dostosowanych do potrzeb pisanie efektywnych aplikacji dla telefonów komórkowych, procesorów zdalnych, tanich produktów powszechnego użytku oraz praktycznie każdego innego urządzenia opartego na układach cyfrowych

5 Cechy języka JAVA Łatwy (stosunkowo) Zorientowany obiektowo Oparty na języku C++ Bezpieczny Sprzętowo niezależny Wielowątkowy Wspierający programowanie sieciowe i rozproszone

6 Cykl tworzenia programu

7 Uruchomienie programu

8 Środowisko wykonawcze JAVA (JRE)

9 Krótka (pre)historia języka JAVA 1967 opracowanie języka LOGO 1970 opracowanie języka Pascal opracowanie języka C Lata 80-te 20-go wieku powstanie języka C Projekt Green (James Gosling) powstanie języka OAK - Object Application Kernel zmiana nazwy z OAK na JAVA Netscape zgodny z Java 1.0, Sun darmowe JDK Platforma Java 2

10 Typy programów w języku JAVA Samodzielne programy z interfejsem tekstowym z interfejsem graficznym Aplety działające w środowisku przeglądarki WWW Rozszerzenia stron WWW w interpretowanym języku opartym na JAVIE - JavaScript Serwlety rozszerzające możliwości serwera WWW Java FX Script

11 JAVA jako język sieciowy Cechy JAVY przydatne w aplikacjach sieciowych: Niezależność platformowa Bezpieczeństwo Wbudowany międzynarodowy zestaw znaków Bogate API umożliwiających korzystanie z rozwiązań sieciowych Własne technologie sieciowe(np. RMI)

12 JAVA jako język sieciowy Cechy JAVY przydatne w aplikacjach sieciowych: Niezależność platformowa Bezpieczeństwo Wbudowany międzynarodowy zestaw znaków Bogate API umożliwiających korzystanie z rozwiązań sieciowych Własne technologie sieciowe(np. RMI)

13 Możliwości programów sieciowych Pobieranie i wyświetlanie danych w różnych formatach Możliwość wprowadzania nowych formatów danych (inaczej niż w przeglądarkach WWW) Łączenie danych w różnych formatach Przetwarzanie danych przed ich prezentacją Elastyczność w prezentacji danych

14 Możliwości programów sieciowych Powtarzalne pobieranie danych Powtarzalne pobieranie danych Wysyłanie danych Równoległe obliczenia rozproszone Komunikacja każdy z każdym Gry Pogawędki Programy typu whiteboard Przeszukiwanie WWW Handel elektroniczny

15 Przykładowa aplikacja

16

17 Przykładowe aplety

18

19

20 Wstęp do programowania w języku JAVA

21 Pierwszy program public class PierwszyProgram { public static void main(string[] args) { System.out.println( Czesc! );

22 Obiekty w języku JAVA Wszystkie (prawie) byty w JAVIE to obiekty Manipulowanie obiektami odbywa się poprzez referencje do nich

23 Obiekty w języku JAVA Stworzenie referencji do obiektu klasy String: String s; Powyższa linia tworzy tylko referencje a nie obiekt, co więcej referencja ta nie wskazuje na żaden obiekt. Bezpieczniejszą techniką jest tworzenie i jednoczesne inicjalizowanie referencji : String s = abcdefgh ;

24 Obiekty w języku JAVA Trzeba tworzyć wszystkie obiekty: String s = new String( abcdefgh ); Powyższa linia tworzy nowy obiekt klasy String i przypisuje referencje do niego do zmiennej s. Linia ta określa też jak ma być skonstruowany obiekt klasy String jakim ciągiem znaków ma być zainicjalizowany

25 Typy proste typ rozmiar min max boolean char 16bitów unicode 0 unicode byte 8bitów short 16bitów -2E15 +2E15-1 int 32bity -2E31 +2E31-1 long 64bity -2E63 +2E63-1 float 32bity IEEE754 IEEE754 double 64bity IEEE754 IEEE754 void - - -

26 Typy proste boolean char byte short int long float double void typ opakowanie obiektowe Boolean Character Byte Short Integer Long Float Double Void

27 Słowa kluczowe abstract continue for new switch assert default if package synchronized boolean do goto private this break double implements protected throw byte else import public throws case enum instanceof return transient catch extends int short try char final interface static void class finally long strictfp volatile const float native super while

28 Zasięg nazw Zasięg określa widzialność i czas życia zdefiniowanej nazwy. Zasięg jest ograniczany przez nawiasy klamrowe {. Przykład: { int x = 12; /* w tym miejscu tylko zmienna x jest dostepna */ { int q = 96; /* tu sa dostepne zmienne x i q */ /* tu tylko zmienna x jest dostepna */ /* zmienna q jest poza zasiegiem */

29 Zasięg nazw Inaczej niż w c++ w JAVIE nie ma przykrywania zmiennych Przykład: { int x = 12; { int x = 96; /* niepoprawne w JAVIE */

30 Zasięg obiektu Zasięg obiektów jest w JAVIE inny niż typów prostych: { String s = new String( abc ); /*koniec zasiegu */ /* referencja s jest poza zasiegniem wiec nie ma do niej dostepu. Natomiast obiekt String ciagle istnieje i zajmuje pamiec (ale nie ma do niego dostepu bo nie istnieje już żadna referencja do niego) */

31 Garbage collector W JAVIE część systemu zwana garbage collector jest odpowiedzialna za usuwanie niepotrzebnych obiektów z pamięci Nie można* i nie trzeba samemu decydować kiedy obiekt ma zostać zniszczony. Jedynie wiadomo kiedy obiekty typów prostych są niszczone.

32 Klasy Klasa definiuje zachowanie obiektów, będących instancjami tej klasy czyli służy do definiowania typu: class NazwaTypu { /*definicja*/ Tworzenie obiektu (instancji) tej klasy: NazwaTypu o = new NazwaTypu();

33 Klasy Klasa może zawierać dwa typy elementów: Pola (dane) będące instancjami innych obiektów, lub typów prostych Metody (funkcje) będące operacjami przeprowadzanymi na obiekcie, bądź klasie

34 Klasy - pola Przykład klasy zawierającej tylko pola: class Dane { int i; float f; /*... */ Dane d = new Dane(); d.i = 32; d.f = 23.6f;

35 Klasy - pola Dostęp do składowych (pól i metod) odbywa się poprzez kropkę: refernecjadoobiektu.skladowa np.: d.i = 32; lub: kologlowne.srodek.x = 23;

36 Klasy - pola Diagram klasy Dane w UML u

37 Klasy - metody Metody służą do wykonywania operacji na obiekcie (lub klasie), określają one, jakie komunikaty rozumieją obiekty klasy. Podstawowymi składnikami metody są: nazwa, argumenty, zwracany typ oraz ciało metody: zwracanytyp nazwametody(/*argumenty*/) { /* cialo metody */ W JAVIE metody mogą być jedynie składowymi klas!

38 Klasy - metody Przykładowa funkcja (musi być zdefiniowana wewnątrz klasy) która pobiera jeden argument typu String i zwraca int: int foo(string s) { return s.length() * 2; Funkcja bezargumentowa, nic nie zwracająca: void fun() { /* zrob cos */ return; /* return może być pominiete */

39 Słowo kluczowe static Poprzedzenie składowej (pola, metody) słowem static oznacza, że ta składowa odnosi się do klasy a nie do obiektu. Jest ono użyteczne gdy: Chcemy aby jakieś pole było współdzielone przez wszystkie obiekty danej klasy, lub żeby istniało gdy nie istnieją jeszcze żadne obiekty tej klasy Potrzebujemy metody, która nie jest związana z żadnym konkretnym obiektem klasy

40 Słowo kluczowe static Przykład: class StaticTest { static int i = 47; StaticTest st1 = new StaticTest(); StaticTest st2 = new StaticTest(); st1.i++; /* dostep przez obiekt */ StaticTest.i++; /* dostep przez klase */

41 Słowo kluczowe static Przykład cd: class StaticFun { static void zwieksz() { StaticTest.i++; /*... */ StaticFun.zwieksz();

42 Kompletny program w JAVIE import java.util.*; public class DrugiProgram { public static void main(string[] args) { System.out.println( Hey, dzisiaj jest: ); System.out.println(new Date());

43 Operatory

44 Operator przypisania = Operator ten przypisuje elementowi po lewej stronie wartość elementu znajdującego się po prawej stronie. Nie można przypisywać niczego do elementów stałych: a = 4; /* przypisanie wartosci 4 do zmiennej a */ 4 = a; /* BLAD proba przypisania do stalej */ Dla typów prostych przypisanie oznacza skopiowanie zawartości. Dla typów obiektowych, w przypadku których manipulujemy referencjami, przypisanie oznacza ustawienie referencji będącej po lewej stronie operatora na obiekt wskazywany przez referencję po prawej stronie operatora.

45 Operator przypisania = Przykład: class Numer { int i; public class TestPrzypisania { public static void main(string[] args) { Numer n1 = new Numer(); Numer n2 = new Numer(); n1.i = 10; n2.i = 18; n1 = n2; /*referencja n1 wsk. na obiekt w wsk. przez n2*/ n1.i = 132; /*n2.i jest tez teraz rowne 132*/

46 Operatory matematyczne Dodawanie (+) Odejmowanie (-) Mnożenie (*) Dzielenie (/) Modulo (%)

47 Operatory matematyczne Przykład: a = b + c; e = a * 7; f -= 10; /* to samo co f = f 10; */ g = f % 4; /* g ma wartosc reszty z dzielenia f przez 4 */

48 Operatory matematyczne Jednoargumentowe operatory + i - a = -b; d = +b; c = a * -b; C = a * (-b); /* bardziej czytelna wersja */

49 Operatory matematyczne Auto inkrementacja (++) i dekrementacja (--) Istnieją dwie formy auto inkrementacji i dekrementacji pre i post ++a; /* pre-inkrementacja */ b--; /* post-dekrementacja */

50 Operatory matematyczne Przykład: public class AutoInc { public static void main(string[] args) { int a = 0; int x = 0; x = a++; /* x ma wartosc 0 */ x = a; /* x ma wartosc 1 */ a = 0; x = ++a; /* x ma wartosc 1 */ x = a; /* x dalej ma wartosc 1 */

51 Operatory porównania Wszystkie operatory porównania zwracają wynik typu boolean (true lub false) Operator równości (==) Operator nierówności (!=) Operator mniejszości (<) Operator większości (>) Operator mniejszy lub równy (<=) Operator większy lub równy (>=)

52 Operatory porównania Porównanie obiektów wersja 1: public class Porownanie1 { public static void main(string[] args) { Integer n1 = new Integer(56); Integer n2 = new Integer(56); System.out.println(n1 == n2); System.out.println(n1!= n2);

53 Operatory porównania Porównanie obiektów wersja 2: public class Porownanie2 { public static void main(string[] args) { Integer n1 = new Integer(56); Integer n2 = new Integer(56); System.out.println(n1.equals(n2));

54 Operatory = > <! ~? : == <= >=!= && * / & ^ % << >> >>> += -= *= /= &= = ^= %= <<= >>= >>>=

55 Operatory rzutowania (konwersji) int i = 10; long l1 = (long)10 long l2 = (long)i; byte b = (byte)i; W języku Java dozwolone jest rzutowanie dowolnego typu prostego na inny (poza typem boolean, który nie może być użyty w rzutowaniu) Nie jest dozwolone rzutowanie typów obiektowych (poza rzutowaniem na String, oraz rzutowaniem w ramach hierarchii dziedziczenia)

56 Promocja typów Stosowanie operatorów matematycznych lub bitowych na danych typów prostych mniejszych niż int (char, byte, short) powoduje, że wartości są rozszerzane (promowane) do typu int przed wykonaniem operacji, a wynik operacji jest również typu int

57 Wyrażenie warunkowe Postać wyrażenia warunkowego: boolean-exp? value0 : value1 W przypadku gdy boolean-exp ma wartość true wyrażenie przyjmuje wartość value0, natomiast w przypadku gdy ma wartość false wyrażenie przyjmuje wartość value1. Przykład: static int abs(int v) { return v > 0? v: -v;

58 Instrukcje

59 ; Instrukcja pusta

60 Instrukcja deklaracji zmiennej int x = 16; double[] tab = new double[100];

61 Instrukcja bloku programu { int x = 16; x++; int k = 2*x;

62 Instrukcje sterujące wykonywaniem programu

63 Instrukcja warunkowa if-else Składnia: if( Boolean-expression ) statement else statement lub: if( Boolean-expression ) statement

64 Pętla while Składnia: while( Boolean-expression ) statement

65 Pętla for Składnia: for(initialization; Boolean-exp; step) statement

66 Instrukcja break Instrukcja break służy do przerywania wykonywania bieżącego poziomu pętli. Przykład: static void breaktest(int v) { for( int i = 0; i < 100; i++ ) { if( v/i < 10 ) break; System.out.println(i);

67 Instrukcja break cd. Przykład 2: static void breaktest2() { int i = 0; while( true ) { if( i > 100 ) break; System.out.println(i); i++;

68 Instrukcja continue Instrukcja continue przerywa wykonywanie bieżącej iteracji pętli i przechodzi do następnej iteracji rozpoczynając od początku ciała pętli. Przykład: static void continuetest() { for( int i = 0; i < 100; i++ ) { if( i % 10 < 2 ) continue; System.out.println(i);

69 Instrukcja wyboru switch Składnia: switch(integral-selector) { case integral-val1: statement; break; case integral-val2: statement; break; case integral-val3: statement; break; //... default: statement;

70 Instrukcja wyboru switch cd. public static void switchtest(int v) { int r = v %4; switch(r) { case 0: System.out.println( Podzielna przez 4 ); break; case 1: System.out.println( Reszta z dzielenia wynosi 1 ); break; //...

71 Inicjalizacja i niszczenie obiektów w Javie

72 Konstruktor Konstruktor jest metodą klasy służącą do inicjalizacji nowo tworzonych obiektów tej klasy. Konstruktor jest automatycznie wołany gdy tworzony jest nowy obiekt. Nazwa konstruktora jest taka jak nazwa klasy do której należy Jeśli nie zdefiniuje się żadnego konstruktora to dodawany jest automatycznie domyślny konstruktor bezparametrowy

73 Przykład: Konstruktor class Kwadrat { Kwadrat() { System.out.println( Konstruktor klasy Kwadrat ); public class TestKonstruktora1 { public static void main(string[] args) { for(int i = 0; i < 10; i++) new Kwadrat();

74 Konstruktor Przykład 2: class Kwadrat { Kwadrat(int b) { System.out.println( Ctor klasy Kwadrat o boku + b); public class TestKonstruktora2 { public static void main(string[] args) { for(int i = 0; i < 10; i++) new Kwadrat(i);

75 Konstruktor Przykład 3: class Kwadrat { Kwadrat() { System.out.println( Konstruktor klasy Kwadrat ); Kwadrat(int b) { System.out.println( Ctor klasy Kwadrat o boku + b);

76 Przykład 3 cd: public class TestKonstruktora3 { Konstruktor public static void main(string[] args) { for(int i = 0; i < 10; i++) { if( i % 3!= 0 ) { new Kwadrat(i); else { new Kwadrat();

77 Przeciążanie funkcji w klasie W ramach jednej klasy nie może być dwóch metod o takich samych nazwach i odbieranych parametrach. Mogą natomiast istnieć dwie metody o takich samych nazwach ale różniące się odbieranymi parametrami decyzja, której z nich użyć jest podejmowana na podstawie parametrów.

78 Przeciążanie funkcji w klasie cd. Przykład: class P { void foo() { System.out.println( Foo wersja 1 ); void foo(int i) { System.out.println( Foo wersja 2 ); void foo(string s) { System.out.println( Foo wersja 3 );

79 Przeciążanie funkcji w klasie cd. Przykład cd.: public class TestPrzeciazania { public static void main(string[] args) { P p1 = new P(); p.foo(); // wersja 1 p.foo(10); // wersja 2 p.foo( Test ); // wersja 3

80 Słowo kluczowe this Słowo kluczowe this może być używane tylko wewnątrz niestatycznych metod klasy i oznacza bieżący obiekt na którym wykonywana jest metoda. Przykład: class X { void f(int i) { /*...*/ X a = new X(), b = new X(); a.f(1); b.f(2); Funkcja f musi wiedzieć na którym obiekcie klasy X ma operować jest to możliwe dzięki przekazaniu do niej ukrytej referencji do obiektu jako pierwszego argumentu.

81 Słowo kluczowe this cd. Ponieważ referencja do obiektu jest ukryta nie ma do niej normalnego dostępu, jednak właśnie słowo kluczowe this zapewnia ten dostęp. Normalnie nie ma potrzeby używania słowa kluczowego this. Przykład: class Y { void f1() { /*... */ void f2() { f1(); /*... */ void f3() { this.f1(); /*... */

82 Przykład 2: class Z { int i = 0; Słowo kluczowe this cd. Z zwieksz() { i++; return this; void print() { System.out.println( i= + i); public static void main(string[] args) { Z a = new Z(); a.zwieksz().zwieksz().zwieksz().print();

83 Wywołanie konstruktora z innego konstruktora Przykład: class Prostokat { int boka = 0; int bokb = 0; Prostokat(int a, int b) { boka = a; bokb = b; //...

84 Wywołanie konstruktora z innego konstruktora cd. //... Prostokat(int a) { this(a,a); Prostokat() { this(10,10); //! this(10); // nie można wolac dwa razy

85 Niszczenie obiektów metoda finalize() Metoda finalize() jest wołana przez garbage collector w momencie gdy obiekt ma zostać usunięty Nie należy jej wywoływać samodzielnie Nie ma gwarancji, że zostanie ona zawołana Jej użycie powinno być ograniczone do zwolnienia pamięci zaalokowanej poza mechanizmami Javy

86 Niszczenie obiektów Do posprzątania po obiekcie należy zaimplementować własną metodę, którą następnie należy ręcznie wywołać, gdy obiekt jest już niepotrzebny.

87 Inicjalizacja zmiennych Java nie gwarantuje, że stworzona zmienna jest poprawnie zainicjalizowana. W przypadku gdy wystąpi próba odwołania do niezainicjalizowanej zmiennej, podczas kompilacji zostanie zgłoszony błąd. Przykład: void foo() { int i; i++;

88 Inicjalizacja składowych obiektu Gdy składowymi klasy są typy proste to Java domyślnie je inicjalizuje: class Wartosci { boolean t; // domyslna war. false char c; // domyslna war. \0 byte b; // domyslna war. 0 short s; // domyslna war. 0 int i; // domyslna war. 0 long l; // domyslna war. 0 float f; // domyslna war. 0.0 double d; // domyslna war. 0.0 //...

89 Inicjalizacja składowych obiektu Gdy składowymi klasy są referencje do obiektów to domyślnie Java nadaje im wartość null (jest to słowo kluczowe Javy).

90 Inicjalizacja składowych obiektu W Javie można do składowych przypisać wartość początkową inną niż wartość domyślna: class Wartosci { boolean t = true; char c = q ; byte b = 10; short s = 0xaa; int i = 555; long l = 23; float f = 3.14f; double d = ; Kwadrat k = new Kwadrat(); // inicjalizacja referencji

91 Inicjalizacja składowych obiektu Można też zawołać funkcje w celu inicjalizacji zmiennej: class Inicjalizacja { int i = f(); Można wołać też funkcje z parametrami, ale parametrami nie mogą być niezainicjalizowane zmienne: class Inicjalizacja { //! j = g(i); // blad i nie jest zainicjalizowane int i = f(); int j = g(i); // ok. i jest już zainicjalizowane

92 Definicja tablicy: int[] t1; lub Inicjalizacja tablic int t1[]; // definicja w stylu C Inicjalizacja tablicy: int t1[] = { 1, 5, 6, 13 ; Możliwe jest też przypisanie jednej tablicy do drugiej, jest to przypisanie referencji: int[] t2; t2 = t1;

93 Inicjalizacja tablic cd. Przykład: public class Tablice { public static void main(string[] args) { int[] t1 = { 1, 2, 5, 8, 12 ; int[] t2; t2 = t1; for(int i = 0; i < t2.length; i++) t2[i]++; for(int i = 0; i < t1.length; i++) System.out.println( t1[ + i + ] = + t1[i] );

94 Inicjalizacja tablic cd. Możliwe jest też określenie rozmiaru inicjalizowanej tablicy: int[] t = new int[54]; Dla typów obiektowych oprócz zainicjalizowania samej tablicy, trzeba też inicjalizować każdy element tej tablicy: Integer[] t = new Integer[20]; // inicjalizacja tablicy for(int i = 0; i < t.length; i++ ) { t[i] = new Integer(0); // inicjalizacja elementow

95 Tablice wielowymiarowe Java pozwala na łatwy sposób tworzenia tablic wielowymiarowych: int[][] t1 = { { 1, 2, 3, { 4, 5, 6, ; for(int i = 0; i < t1.length; i++) for(int j = 0; j < t1[i].length; j++) System.out.println( t1[ + i + ][ + j + ] = + t1[i][j]); //...

96 Tablice wielowymiarowe cd. Tworzenie tablic wielowymiarowych o określonym rozmiarze: int[][][] t2 = new int[2][2][5];

97 Specyfikacja dostępu

98 Dostęp do składowych klasy Jeśli nie ma określonego specyfikatora dostępu to jako domyślny przyjmowany jest friend, który oznacza możliwość dostępu w ramach tego samego pakietu (pliku).dostęp w ramach pakietu Specyfikator public oznacza, że wszyscy mają dostęp do składowej Specyfikator private dopuszcza dostęp do składowej tylko w ramach tej samej klasy Specyfikator protected dopuszcza dostęp do składowej tylko w ramach tej samej klasy i klas z niej dziedziczących

99 Dostęp do składowych klasy Przykład: public class X { public void pub1() { /*... */ public void pub2() { /*... */ private void priv1() { /*... */ protected void prot1() { /*... */ private int i;

100 Dziedziczenie W Javie możliwe jest tylko dziedziczenie pojedyncze Wszystkie obiekty w Javie dziedziczą z obiektu podstawowego Objects Do oznaczenia dziedziczenia służy słowo kluczowe extends

101 Dziedziczenie Przykład: class A { private String s = new String( Klasa A ); public void append(string str) { s += str; public void foo1() { append( foo1() ); public void foo2() { append( foo2() ); public void print() { System.out.println(s); public static void main(string[] args) { A obiekt1 = new A(); obiekt1.foo1(); obiekt1.foo2(); obiekt1.print();

102 Dziedziczenie Przykład cd: public class B extends A { public void foo2() { append( B.foo2() ); super.foo2(); // wywolanie metody klasy bazowej public void foo3() { append( foo3() ); public static void main(string[] args) { B obiekt = new B(); obiekt.foo1(); obiekt.foo2(); obiekt.foo3(); A.main(args); // test klasy bazowej

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

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

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

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

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

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Java - tablice, konstruktory, dziedziczenie i hermetyzacja Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja

Bardziej szczegółowo

Wykład 4: Klasy i Metody

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

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

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

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,

Bardziej szczegółowo

Polimorfizm, metody wirtualne i klasy abstrakcyjne

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,

Bardziej szczegółowo

Programowanie w Internecie. Java

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

Bardziej szczegółowo

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Konstruktory Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasę Prostokat: class

Bardziej szczegółowo

Multimedia JAVA. Historia

Multimedia JAVA. Historia Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

Programowanie obiektowe i język Java

Programowanie obiektowe i język Java Programowanie obiektowe i język Java Tomasz Głowacki Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych i ich zastosowań

Bardziej szczegółowo

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

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język

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

Definiowanie własnych klas

Definiowanie własnych klas Programowanie obiektowe Definiowanie własnych klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Definiowanie własnych klas Autor:

Bardziej szczegółowo

Java Język programowania

Java Język programowania Java Język programowania Język Java Bazuje i jest zbliżony do C/C++ Porosty zbiór typów danych (podział na typy prymitywne i obiektowe) Zarządzanie pamięcią i Garbage Collection Zintegrowana synchronizacja

Bardziej szczegółowo

Podstawy programowania obiektowego

Podstawy programowania obiektowego Podstawy programowania obiektowego Technologie internetowe Wykład 5 Program wykładu Podejście obiektowe kontra strukturalne do tworzenie programu Pojęcie klasy i obiektu Składowe klasy: pola i metody Tworzenie

Bardziej szczegółowo

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

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje. Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using

Bardziej szczegółowo

Java niezbędnik programisty spotkanie nr 3. Modyfikatory, jednostki kompilacji, tworzenie/inicjalizacja, odśmiecanie/ finalizacja...

Java niezbędnik programisty spotkanie nr 3. Modyfikatory, jednostki kompilacji, tworzenie/inicjalizacja, odśmiecanie/ finalizacja... Java niezbędnik programisty spotkanie nr 3 Modyfikatory, jednostki kompilacji, tworzenie/inicjalizacja, odśmiecanie/ finalizacja... 1 Definicja klasy [modyfikator] class nazwa_klasy { [modyfikator] nazwa_typu

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

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

Bardziej szczegółowo

Programowanie obiektowe

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

Bardziej szczegółowo

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

2. Składnia, środowisko i konwencje w Javie Gdańsk, 2014 Ogólnie o Javie Środowisko Java jest językiem programowania, którego podstawowym celem jest realizacja zasady write once, run anywhere. Oznacza to możliwość wykonania tego samego programu,

Bardziej szczegółowo

/** Program demonstrujący działanie klasy GregorianCalendar import java.util.*; public class TestKalendarza // zbuduj d i zainicjalizuj z aktualną datą GregorianCalendar d = new GregorianCalendar(); int

Bardziej szczegółowo

Programowanie wieloplatformowe w Java

Programowanie wieloplatformowe w Java Programowanie wieloplatformowe w Java dr Krzysztof Podlaski 1 Kwestie organizacyjne Wykład: 15 godzin Zaliczenie test Ćwiczenia 30 godzin (dr K.Podlaski) Zaliczenie projekt Konsultacje: do ustalenia, Kontakt:

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

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

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

Spis treści. 1 Java T M

Spis treści. 1 Java T M Spis treści 1 Java T M 1 2 Co to jest Platforma Java T M 1 3 Przygotowanie komputera 2 4 Pierwszy program 2 5 Dokumentacja 3 6 Budowa aplikacji. Klasy. 3 7 Pola i metody 4 8 Konstruktory 5 9 Inne proste

Bardziej szczegółowo

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1 Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie

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

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

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

Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusz Mikoda

Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusz Mikoda Programowanie urządzeń mobilnych dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusz Mikoda Najważniejsze platformy mobilne Android ios Windows Phone 8.1 BlackBerry OS Sailfish OS Tizen Brew Android

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

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

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

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Metody Metody, parametry, zwracanie wartości

Metody Metody, parametry, zwracanie wartości Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

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

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

Programowanie, algorytmy i struktury danych

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

Bardziej szczegółowo

Podstawy języka Java. przygotował: pawel@kasprowski.pl

Podstawy języka Java. przygotował: pawel@kasprowski.pl Podstawy języka Java przygotował: pawel@kasprowski.pl Początki: PDA Star7 (*7) PDA do obsługi urządzeń domowych. (1992) (język OAK) Autorzy Javy Green Team Ojciec Javy: James Gosling Poszukiwanie zastosowania

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

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1 Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

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

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Język PHP Język interpretowalny, a nie kompilowany Powstał w celu programowania

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

Klasy i obiekty cz II

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

Bardziej szczegółowo

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

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

Bardziej szczegółowo

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

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

Bardziej szczegółowo

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

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle Pętle while, for, while, instrukcje break, continue, switch 1. Pętle Przykład 1 - Pętla while public class lab4_3 public static void main(string[] args) char ch = 'a'; String s, wynik=""; while ( ch!=

Bardziej szczegółowo

Programowanie obiektowe. Wprowadzenie

Programowanie obiektowe. Wprowadzenie 1 Programowanie obiektowe Wprowadzenie 2 Programowanie obiektowe Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

Bardziej szczegółowo

Laboratorium Programowania Kart Elektronicznych

Laboratorium Programowania Kart Elektronicznych Laboratorium Programowania Kart Elektronicznych Programowanie JavaCard Marek Gosławski Przygotowanie do zajęć dokumentacja JavaCard i GlobalPlatform środowisko programistyczne karta JavaCard Potrzebne

Bardziej szczegółowo

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń

Bardziej szczegółowo

Typy danych, zmienne i tablice. Tomasz Borzyszkowski

Typy danych, zmienne i tablice. Tomasz Borzyszkowski Typy danych, zmienne i tablice Tomasz Borzyszkowski Silne typy Javy Java jest językiem wyposażonym w silny system typów. Wywodzi się stąd siła i bezpieczeństwo tego języka. Co to znaczy silny system typów?

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 3

PARADYGMATY PROGRAMOWANIA Wykład 3 PARADYGMATY PROGRAMOWANIA Wykład 3 Definiowanie operatorów i ich przeciążanie Przykłady zastosowania operatorów: a) operator podstawienia ( = ) obiektów o złożonej strukturze, b) operatory działania na

Bardziej szczegółowo

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

Język JAVA podstawy. Wykład 4, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 4, część 1 1 Język JAVA podstawy Plan wykładu: 1. Podstawy modelowania obiektowego 2. Konstruktory 3. Dziedziczenie, związki pomiędzy klasami, UML 4. Polimorfizm 5. Klasy abstrakcyjne

Bardziej szczegółowo

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

Programowanie obiektowe, wykład nr 6. Klasy i obiekty Dr hab. inż. Lucyna Leniowska, prof. UR, Zakład Mechatroniki, Automatyki i Optoelektroniki, IT Programowanie obiektowe, wykład nr 6 Klasy i obiekty W programowaniu strukturalnym rozwój oprogramowania oparto

Bardziej szczegółowo

11.6 Klasa do obsługi liczb wymiernych

11.6 Klasa do obsługi liczb wymiernych 246 11.6 Klasa do obsługi liczb wymiernych Klasa do obsługi liczb wymiernych, którą teraz zaprojektujemy w celu zilustrowania korzyści wynikających z programowania obiektowego, służy do zgrabnego wykonywania

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

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować

Bardziej szczegółowo

Java jako język programowania

Java jako język programowania Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)

Bardziej szczegółowo

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

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

Bardziej szczegółowo

Java-wykład. Dorota Pylak

Java-wykład. Dorota Pylak Java-wykład Dorota Pylak BIBLIOGRAFIA Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 C. S. Horstmann, G. Cornell, Java. Podstawy, Helion, Gliwice 2008 C.S. Horstmann, G. Cornell, Core.

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

Bardziej szczegółowo

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

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++)

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

Współbieżność w środowisku Java

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

Bardziej szczegółowo

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wyjątki Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wydaje się, że żaden użytkownik oprogramowania nie lubi, kiedy stosowany program nagle zawiesza się,

Bardziej szczegółowo

Podstawy programowania obiektowego w języku Java dla programujących w C++

Podstawy programowania obiektowego w języku Java dla programujących w C++ Podstawy programowania obiektowego w języku Java dla programujących w C++ Wykład 8 Użyte przykłady częściowo zaczerpnięte z książki: T. Lis: "Java - Ćwiczenia praktyczne", Helion 2004 - wszystkie można

Bardziej szczegółowo

Abstrakcyjny typ danych

Abstrakcyjny typ danych Abstrakcyjny typ danych Abstrakcyjny Typ Danych (abstract data type-adt): zbiór wartości wraz z powiązanymi z nimi operacjami; operacje są zdefiniowane w sposób niezależny od implementacji; operacje są

Bardziej szczegółowo

Projektowanie klas c.d. Projektowanie klas przykład

Projektowanie klas c.d. Projektowanie klas przykład Projektowanie klas c.d. ogólne wskazówki dotyczące projektowania klas: o wyodrębnienie klasy odpowiedź na potrzeby życia (obsługa rozwiązania konkretnego problemu) o zwykle nie uda się utworzyć idealnej

Bardziej szczegółowo

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++ Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu

Bardziej szczegółowo

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pierwsze kroki Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Co znaczy

Bardziej szczegółowo

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone Plan wykładu CORBA Wprowadzenie Architektura CORBA IDL język definicji interfejsów ORB Object Request Broker Usługi i POA Aplikacje CORBA tworzenie serwera tworzenie klienta Aplikacje rozproszone Cechy

Bardziej szczegółowo

Ćwiczenie 1. Przygotowanie środowiska JAVA

Ćwiczenie 1. Przygotowanie środowiska JAVA Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.

Bardziej szczegółowo

Programowanie RAD Delphi

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

Bardziej szczegółowo

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

Język JAVA podstawy. Wykład 4, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 4, część 3 1 Język JAVA podstawy Plan wykładu: 1. Podstawy modelowania obiektowego 2. Konstruktory 3. Dziedziczenie, związki pomiędzy klasami, UML 4. Polimorfizm 5. Klasy abstrakcyjne

Bardziej szczegółowo

Programowanie strukturalne i obiektowe

Programowanie strukturalne i obiektowe Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie

Bardziej szczegółowo

WPROWADZENIE DO JĘZYKA JAVA

WPROWADZENIE DO JĘZYKA JAVA WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

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

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pętle for, while, do... while, foreach Jeszcze o operatorach... Skrócone operatory arytmetyczne przykład x +=

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

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

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,

Bardziej szczegółowo

Specyfikacje formalne

Specyfikacje formalne Specyfikacje formalne część II Piotr Szczepański Na podstawie: Formal Specification, Andreas Roth, Peter H. Schmitt Krótkie przypomnienie JML Co to jest formalna specyfikacja? Co to jest OCL? Składnia

Bardziej szczegółowo

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,

Bardziej szczegółowo

Java niezbędnik programisty spotkanie nr 9. Java 2 Platform, Standard Edition 5.0

Java niezbędnik programisty spotkanie nr 9. Java 2 Platform, Standard Edition 5.0 Java niezbędnik programisty spotkanie nr 9 Java 2 Platform, Standard Edition 5.0 1 Historia 1991 rozpoczyna się the Green Project (to jeszcze era MS DOS) 1992 pojawia się język Oak 1995 zmiana nazwy z

Bardziej szczegółowo

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Zagadnienia 1. Delegaty wiązane, właściwości indeksowane 2. Delegaty niewiązane 3. Nowa wersja kalkulatora, delegaty

Bardziej szczegółowo

10. Programowanie obiektowe w PHP5

10. Programowanie obiektowe w PHP5 Ogólnie definicja klasy wygląda jak w C++. Oczywiście elementy składowe klasy są zmiennymi PHP, stąd nieśmiertelne $. Warto zauważyć, że mogą one mieć wartość HHH mgr inż. Grzegorz Kraszewski TECHNOLOGIE

Bardziej szczegółowo

Szablony funkcji i szablony klas

Szablony funkcji i szablony klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody

Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody Programowanie urządzeń mobilnych dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody W bloku inicjalizacji nie można wywołać konstruktora klasy nadrzędnej (poprzez super). class Klasa{

Bardziej szczegółowo

ECLIPSE wnioski z dwóch pierwszych laboratoriów

ECLIPSE wnioski z dwóch pierwszych laboratoriów PODSTAWY PROGRAMOWANIA 3-4 WYKŁAD 22-10-2015 ECLIPSE wnioski z dwóch pierwszych laboratoriów Dodanie pliku i konfiguracji startowej (każdy uruchamiany program powinien mieć własna konfigurację startową)

Bardziej szczegółowo

Wprowadzenie do programowanie obiektowego w języku C++

Wprowadzenie do programowanie obiektowego w języku C++ Wprowadzenie do programowanie obiektowego w języku C++ Część czwarta Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura

Bardziej szczegółowo

DYNAMICZNE PRZYDZIELANIE PAMIECI

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

Bardziej szczegółowo