Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main

Podobne dokumenty
Przypomnienie o klasach i obiektach

Wykład 4: Klasy i Metody

Wprowadzenie do języka Java

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

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

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Programowanie obiektowe

Programowanie w C++ Wykład 12. Katarzyna Grzelak. 28 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27

Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie

Programowanie w C++ Wykład 11. Katarzyna Grzelak. 13 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30

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

Metody Metody, parametry, zwracanie wartości

Wykład 8: klasy cz. 4

Algorytmy i język C++

Programowanie obiektowe

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

Podstawy i języki programowania

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

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

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

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

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Spis treści. 1 Java T M

Klasy i obiekty cz II

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

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

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Wstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać)

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Podstawy programowania obiektowego

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

Programowanie obiektowe

Wykład 2: Podstawy Języka

Podstawy Programowania C++

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

Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

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

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

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

Programowanie obiektowe

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

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

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

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

Laboratorium 1 - Programowanie proceduralne i obiektowe

JAVA?? to proste!! Autor: wojtekb111111

Dokumentacja do API Javy.

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Podstawy programowania. Wykład 6 Złożone typy danych: struktury, unie. Krzysztof Banaś Podstawy programowania 1

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

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

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

Języki i techniki programowania Ćwiczenia 2

Część 4 życie programu

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

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

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

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

C-struktury wykład. Dorota Pylak

Microsoft IT Academy kurs programowania

Programowanie obiektowe - zadania

Dla każdej operacji łącznie tworzenia danych i zapisu ich do pliku przeprowadzić pomiar czasu wykonania polecenia. Wyniki przedstawić w tabelce.

Programowanie obiektowe

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

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

Programowanie 2. Język C++. Wykład 3.

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1

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

Programowanie - wykład 4

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 4. Karol Tarnowski A-1 p.

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Tablice i łańcuchy znakowe jako obiektowe typy danych. dr Jarosław Skaruz

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

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

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

Wykład 7: Pakiety i Interfejsy

Podstawowe części projektu w Javie

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

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

C-struktury wykład. Dorota Pylak

1 Atrybuty i metody klasowe

Lab 9 Podstawy Programowania

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp

Materiały do zajęć VII

Języki skryptowe w programie Plans

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

1 Podstawy c++ w pigułce.

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.:

Podstawy algorytmiki i programowania - wykład 5 C-struktury cd.

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

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

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

Programowanie w Internecie. Java

Programowanie obiektowe. Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt

Transkrypt:

Język obiektowy Wykład 13 Programowanie obiektowe z lotu ptaka, str 1 James Gosling, Mike Sheridan, Patrick Naughton Sun Microsystems 1995(20latmłodszyodC) C jest językiem proceduralnym Java jest językiem obiektowym Języki obiektowe zawierają wszystko potrzebne do programowania proceduralnego, i jeszcze więcej Wykład 13 Programowanie obiektowe z lotu ptaka, str 2 Uruchomienie programu w Jawie Kompilacja javac progjava powoduje wyprodukowanie kilku plików o rozszerzeniu class, min Mainclass wykonanie: java Main

Wykład 13 Programowanie obiektowe z lotu ptaka, str 3 Czego brakuje strukturom w C typedef struct { int licz, mian; void skracanie() { int nwd=najwwspdz(licz,mian); licz = licz/nwd; mian = mian/nwd; } prywatne intnajwwspdz(intn,intk) { while(n!=k) if(n<k) k-=n; else n-=k; return n; } } ulamek; WCniemamożliwości umieszczenia wewnątrz struktury funkcji obsługującej pola tej struktury; ukrycia funkcji pomocniczej wewnątrz struktury, żeby nie była widoczna poza tą strukturą ulameku={-2,4}; uskracanie(); Wykład 13 Programowanie obiektowe z lotu ptaka, str 4 patrz plik Ulamki1java WJawie: Strukturom odpowiadają klasy(np klasa Ulamek) Klasa jest złożonym typem danych; może zawierać wartości( własności ) jakwc(nplicz);oraz funkcje( metody ) w przeciwieństwie do C(np skracanie) Klasa może mieć własności i metody do użytku wewnętrznego, niewidoczne dla programu oznaczone private(np najw wsp dz) Pozadeklarowaniuklasy classnazwaklasy {} możemy w zwykły sposób deklarować zmienne: Nazwa klasy nazwa zmiennej; Działają zwykłe deklaracje z inicjalizacją: Nazwa klasy nazwa zmiennej = konkretny obiekt;

Wykład 13 Programowanie obiektowe z lotu ptaka, str 5 patrz plik Ulamki1java WJawie: Jedną(lub więcej) z metod klasy jest zwykle konstruktorem obiektów tejklasymaonanazwętakąsamąjaknazwaklasyiniejestpoprzedzona typem wynikowym(ani void-em) jej typem wynikowym jest definiowana klasa Konstruktor służy do tworzenia i inicjalizowania obiektów klasy Np Ulamekul=newUlamek(3,4); Ulamek: Ulamek ullicz ulmian ulskracanie Wykład 13 Programowanie obiektowe z lotu ptaka, str 6 patrz plik Ulamki1java Co z klasy Ulamek widzi program używający jej obiektów? Ulamek: Ulamek ullicz ulmian ulskracanie całkowity licz licznik ułamka całkowity mian mianownik ułamka konstruktor Ulamek(intll,intmm) tworzącyułamekzpodanego licznika i mianownika metoda skracanie() upraszczająca ułamek Metoda najw wsp dz jest prywatna, więc niewidoczna z zewnątrz

Wykład 13 Programowanie obiektowe z lotu ptaka, str 7 RóżnicamiędzyfunkcjamiwCimetodamiwJavie FunkcjawCdziałanawszystkiewartościtegosamegotypu Metoda w Jawie należy do konkretnego obiektu; metoda innego obiektu tej samej klasy może działać inaczej Metoda jakiegoś obiektu może być wywołana bez argumentów; np ulskracanie(); powoduje uproszczenie ulamka ul Ułamki, cd Wykład 13 Programowanie obiektowe z lotu ptaka, str 8 Program na dodawanie ułamków: patrz plik Ulamki2java Wyjście: Systemoutprint(); Łączenie(konkatenacja) napisów: znak +

Ułamki, cd Wykład 13 Programowanie obiektowe z lotu ptaka, str 9 Program na dodawanie ułamków: patrz plik Ulamki2java Wejście: Potrzebna jest biblioteka: import javautilscanner; Trzeba utworzyć obiekt klasy Scanner: Scanner czytnik = new Scanner(Systemin); Przeczytanie jednego wiersza z klawiatury: String napis = czytniknextline(); Czytanie liczby z napisu: int liczba = IntegerparseInt(napis); double liczba = DoubleparseDouble(napis); Wykład 13 Programowanie obiektowe z lotu ptaka, str 10 Bardziej skomplikowany program: lista płac patrzplik Listaplacjava Komendy if for while dowhile switch jakwc Nowetypy: String odpowiadachar*zc Boolean zawiera wartości logiczne true i false mogące występować w warunkach if-ów i while-ów Nowetypy:klasaArrayList<> nieograniczonatablicazoperacjami: size liczba elementów listy get wybieranie elementu o podanym indeksie add dodawanie nowego elementu remove usuwanie elementu o podanym indeksie

Wykład 13 Programowanie obiektowe z lotu ptaka, str 11 Bardziej skomplikowany program: lista płac patrzplik Listaplacjava Stare typy w nowym opakowaniu: jestint(tylkotyp) aleteżnowyinteger(klasa) jestdouble(tylkotyp) aleteżnowydouble(klasa) jestchar(tylkotyp) aleteżnowycharacter(klasa) Stare typy w nowym opakowaniu: deklaracja tablicy liczb całkowitych: int[] tab; na razie liczba jej elementów jest nieustalona; ustalenie długości zadeklarowanej tablicy: tab = new int[15]; ciągle jest wypełniona śmieciami; deklaracja tablicy z inicjalizacją: int[]tab={1,5,-3,0}; długość tablicy: tablength Wykład 13 Programowanie obiektowe z lotu ptaka, str 12 Jeszcze bardziej skomplikowany program: robale patrz plik Robalejava Każdy owad jest obiektem klasy Robale Poszczególne owady różnią się kolorem, prędkością biegania i trasą biegania Cała informacja dotycząca wyglądu i biegu poszczególnego owada zapisanajestwyłączniewnimsamym tylkosamowadwie,jakpowinien się wyświetlać i ruszać

Wykład 13 Programowanie obiektowe z lotu ptaka, str 13 Jeszcze bardziej skomplikowany program: robale patrz plik Robalejava Biblioteki do grafiki: javaxawt* i javaxswing* Biblioteki do reagowania na wydarzenia (w tym programie tylko na upływ czasu): javaxawtevent* Wprogramiegłównym(czyliwmetodzie main klasy Main) ustalasięcechyoknaidodajesiędoniegoobrazekzdefiniowanyw innej klasie Konstruktor klasy Obrazek tworzy robale; a następnie włącza stoper i określa, co się ma zdarzyć po upłynięciu określonego czasu(potrzebne doanimacji) masięzmienićstanlicznikaczasu,owadymająsięo niej dowiedzieć, i obrazek ma zostać namalowany na nowo Metoda paintcomponent wywołuje metody poszczególnych owadów, służące do ich namalowania Wykład 13 Programowanie obiektowe z lotu ptaka, str 14 Jeszcze bardziej skomplikowany program: robale patrz plik Robalejava Ruch pojedynczego i-tego owada: r i (t)= ( cos(2π(i+1)t),sin(2π(2i+1)t) ) więcwtrakciejednegoprzebieguparametrutod0do1,owadi-typrzebiega i+1razyodprawejścianydolewejizpowrotem, 2i+1razyodgórnejścianydodolnejizpowrotem i i+1 2i+1 0 1 1 okrąg 1 2 3 2 3 5