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

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 dpalka@up.krakow.pl

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

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

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

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

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

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

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

Wykład 2: Podstawy Języka

Wykład 2: Podstawy Języka Wykład 2: Podstawy Języka 1.wprowadzenie 2.podstawy języka 3.sterowanie 4.inicjacja i sprzątanie 5.kontrola dostępu 6.dziedziczenie 7.polimorfizm 8.obsługa błędów 9.kolekcje obiektów 10.wejście i wyjście

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

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

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

Dokumentacja do API Javy.

Dokumentacja do API Javy. Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu

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

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

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

Programowanie obiektowe

Programowanie obiektowe Przygotował: Jacek Sroka 1 Programowanie obiektowe Wykład 3 Java podstawy Przygotował: Jacek Sroka 2 Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo

Bardziej szczegółowo

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

dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy PODSTAWOWE ELEMENTY JĘZYKA JAVA TYPY DANYCH, OPERATORY I INSTRUKCJE 1. Definicja klasy, dziedziczenie, implementowanie metod interfejsów class nazwa_klasy //ciało klasy Klasa: przed słowem class moŝe wystąpić

Bardziej szczegółowo

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

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1 PODSTAWOWE ELEMENTY JĘZYKA JAVA WYRAŻENIA, OPERATORY, INSTRUKCJE 1. Operatory arytmetyczne +, -, /,*, % Przykład 1 programu z interfejsem konsolowym public class Lab2_1 // Tworzy generator liczb losowych,

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

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

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

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

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

Języki i metody programowania Java. Wykład 2 (część 2) Języki i metody programowania Java INF302W Wykład 2 (część 2) Autor Dr inż. Zofia Kruczkiewicz 1 Struktura wykładu 1. Identyfikacja danych reprezentowanych przez klasy podczas opracowania koncepcji prostego

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

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

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

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

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

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

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

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

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

Wykład 5: Więcej o Klasach i Metodach

Wykład 5: Więcej o Klasach i Metodach Wykład 5: Więcej o Klasach i Metodach Przeciążanie Metod Klasa posiada dwie lub więcej metod o tej samej nazwie ale różnych deklaracjach parametrów. Java używa liczby i typów argumentów by ustalić którą

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

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

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

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

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

Programowanie obiektowe Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami

Bardziej szczegółowo

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

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi EGZAMIN PIERWSZY (25 CZERWCA 2013) JĘZYK C++ poprawiam ocenę pozytywną z egzaminu 0 (zakreśl poniżej x) 1. Wśród poniższych wskaż poprawną formę definicji

Bardziej szczegółowo

Klasy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 13

Klasy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java   1 / 13 Klasy Klasa to grupa obiektów, które mają wspólne właściwości, a obiekt jest instancją klasy. Klasa w języku Java może zawierać: pola - reprezentują stan obiektu (odniesienie do pola z kropką), methods

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

Aplikacje w środowisku Java

Aplikacje w środowisku Java Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - wprowadzenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Klasa zbiór pól i metod Obiekt

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 3: Tworzenie i usuwanie obiektów 3/10/2013 S.Deniziak: Programowanie obiektowe - Java 1 Deklaracje pól klasy class Klasa1 { int i; Klasa2 k = new Klasa2(); char c= x ; byte

Bardziej szczegółowo

Wykład 7: Pakiety i Interfejsy

Wykład 7: Pakiety i Interfejsy Wykład 7: Pakiety i Interfejsy Plik Źródłowy w Javie Składa się z: instrukcji pakietu (pojedyncza, opcjonalna) instrukcji importujących (wielokrotne, opcjonalne) deklaracji klasy publicznej (pojedyncza,

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

Języki i techniki programowania Ćwiczenia 2

Języki i techniki programowania Ćwiczenia 2 Języki i techniki programowania Ćwiczenia 2 Autor: Marcin Orchel Spis treści: Język C++... 5 Przekazywanie parametrów do funkcji... 5 Przekazywanie parametrów w Javie.... 5 Przekazywanie parametrów w c++...

Bardziej szczegółowo

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

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017 Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania

Bardziej szczegółowo

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p. Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Abstrakcja funkcyjna Struktury Klasy hermetyzacja

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

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński Java - wprowadzenie Programowanie Obiektowe Mateusz Cicheński O języku Czym jest Java Cechy charakterystyczne języka Przykładowe zastosowania Składnia języka Podstawowe typy Wybrane słowa kluczowe Plan

Bardziej szczegółowo

Tworzenie aplikacji w języku Java

Tworzenie aplikacji w języku Java Tworzenie aplikacji w języku Java Wykład 1 Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku Java 2 października 2009

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

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

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np Klasy Klasa jest nowym typem danych zdefiniowanym przez użytkownika Wartości takiego typu nazywamy obiektami Najprostsza klasa jest po prostu strukturą, np struct Zespolona { Klasy jako struktury z operacjami

Bardziej szczegółowo

Programowanie urządzeń mobilnych

Programowanie urządzeń mobilnych Programowanie urządzeń mobilnych Najważniejsze platformy mobilne Android ios Windows Mobile / Windows Phone 7 Symbian Bada BlackBerry OS Brew Android Producent systemu: Open Handset Alliance Producenci

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

MATERIAŁY DO ZAJĘĆ II

MATERIAŁY DO ZAJĘĆ II MATERIAŁY DO ZAJĘĆ II Zmienne w C# Spis treści I. Definicja zmiennej II. Hierarchia typów (CTS) III. Typy wbudowane IV. Deklaracja zmiennych V. Literały VI. Pobieranie i wypisywanie wartości zmiennych

Bardziej szczegółowo

Dziedziczenie. dr Jarosław Skaruz

Dziedziczenie. dr Jarosław Skaruz Dziedziczenie dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com Dziedziczenie specjalizacja Dziedziczenie generalizacja Generalizacja-specjalizacja jest takim związkiem pomiędzy klasami,

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

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

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019 Wykład 3 22 marca 2019 Klasy wewnętrzne Klasa wewnętrzna class A {... class B {... }... } Klasa B jest klasa wewnętrzna w klasie A. Klasa A jest klasa otaczajac a klasy B. Klasy wewnętrzne Właściwości

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

Enkapsulacja, dziedziczenie, polimorfizm

Enkapsulacja, dziedziczenie, polimorfizm 17 grudnia 2008 Spis treści I Enkapsulacja 1 Enkapsulacja 2 Spis treści II Enkapsulacja 3 Czym jest interfejs Jak definuje się interfejs? Rozszerzanie interfejsu Implementacja interfejsu Częściowa implementacja

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

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

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

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

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

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ Procesy i wątki Proces posiada samodzielne środowisko wykonawcze. Proces posiada własny zestaw podstawowych zasobów w czasie wykonywania; W szczególności, każdy proces ma własną przestrzeń pamięci. W uproszczeniu

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

Programowanie obiektowe Programowanie obiektowe Wykład 5: Dziedziczenie i polimorfizm 3/24/2013 S.Deniziak: Programowanie obiektowe - Java 1 Kompozycja klas class Drzewo { class Krzew { class Las { Drzewo drzewostan[ ]; Krzew

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

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

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

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

Akademia ETI. Wprowadzenie do programowania w Javie PG Java User Group Przemysław Kulesza Akademia ETI Wprowadzenie do programowania w Javie PG Java User Group 1 Dlaczego Java? Najpopularniejszy język programowania obiektowego Łatwy w nauce Dostępny na wiele platform 2 Platformy Java Java Standard

Bardziej szczegółowo

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? 1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? a) konstruktor b) referencje c) destruktor d) typy 2. Które z poniższych wyrażeń są poprawne dla klasy o nazwie

Bardziej szczegółowo

ROZDZIAŁ 2. Operatory

ROZDZIAŁ 2. Operatory Bibliografia [1] Jerzy Grębosz, Symfonia C++, Oficyna Kallimach, Kraków, 1999, [2] Jerzy Grębosz, Pasja C++, Oficyna Kallimach, Kraków, 1999, [3] Bjarne Stroustrup, Język C++, WNT, Warszawa, 1997, [4]

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

/** 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

Wykład 5: Klasy cz. 3

Wykład 5: Klasy cz. 3 Programowanie obiektowe Wykład 5: cz. 3 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD - podstawy Konstruktor i destruktor (część I) 2 Konstruktor i destruktor KONSTRUKTOR Dla przykładu

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

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

Programowanie w Javie - wykład 2

Programowanie w Javie - wykład 2 Programowanie w Javie - wykład 2 Java-wprowadzenie (instrukcje sterujące) Klasy podstawy Pakiety Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN,

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe III. Refleksja Małgorzata Prolejko OBI JA16Z03 Plan Klasa Class. Analiza funkcjonalności klasy. Podstawy obsługi wyjątków. Zastosowanie refleksji do analizy obiektów. Wywoływanie

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

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

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

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

Materiały pomocnicze do wykładu 3 - Elementy języka Java

Materiały pomocnicze do wykładu 3 - Elementy języka Java Materiały pomocnicze do wykładu 3 - Elementy języka Java 1) Typy danych Typy całkowite Typ Rozmiar Zakres przechowywanych danych byte 8 bitów -128 do 127 short 16 bitów -32768 do 32767 int 32 bity -2147483648

Bardziej szczegółowo

public - może być używana w kodzie poza klasą, jedna klasa ModyfikatorKlasy może być kombinacją wyrażeń:

public - może być używana w kodzie poza klasą, jedna klasa ModyfikatorKlasy może być kombinacją wyrażeń: Klasy Metody [ModyfikatorMetody] TypZwrotny Nazwa (Typ arg1, ) { // implementacja metody ModyfikatorMetody może być kombinacją wyrażeń: modyfikator widzialności public dostępna dla metod spoza klasy protected

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

Materiały do zajęć VII

Materiały do zajęć VII Spis treści I. Klasy Materiały do zajęć VII II. III. Konstruktor Właściwości i indeksatory Klasy Programowanie obiektowe wiadomości wstępne Paradygmat programowania obiektowego Abstrakcja Hermetyzacja

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

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

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

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU Inicjalizacja agregatowa zmiennej tablicowej int a[5] = 1,2,3,4,5 INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU Struktury są również agregatami, dlatego: struct X double f; char c; X x1 = 1, 2.2, 'c' Ale

Bardziej szczegółowo

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost; Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze

Bardziej szczegółowo