Programowanie obiektowe



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

Programowanie w Internecie. Java

Programowanie obiektowe zastosowanie języka Java SE

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

Języki i metody programowania Java INF302W. Wykład 1 (część 1) na podstawie Autor Dr inż. Zofia Kruczkiewicz

Programowanie obiektowe

Multimedia JAVA. Historia

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

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

1 Atrybuty i metody klasowe

Java jako język programowania

JAVA W SUPER EXPRESOWEJ PIGUŁCE

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

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

Wykład 7: Pakiety i Interfejsy

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

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

Dokumentacja do API Javy.

Dziedziczenie jednobazowe, poliformizm

Wykład 4: Klasy i Metody

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

Pakiety i interfejsy. Tomasz Borzyszkowski

Spis treści. 1 Java T M

Ćwiczenie 1. Przygotowanie środowiska JAVA

PODEJŚCIE OBIEKTOWE. Przykład 1 metody i atrybuty statyczne

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

Podstawy i języki programowania

Polimorfizm, metody wirtualne i klasy abstrakcyjne

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

WPROWADZENIE DO JĘZYKA JAVA

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

Programowanie obiektowe

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

Rozdział 4 KLASY, OBIEKTY, METODY

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Wykład 2: Podstawy Języka

WPROWADZENIE DO JĘZYKA JAVA

Polimorfizm. dr Jarosław Skaruz

Wprowadzenie do języka Java

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

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

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

Wykład 8: klasy cz. 4

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

Dziedziczenie. Tomasz Borzyszkowski

Java EE produkcja oprogramowania

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

Klasy abstrakcyjne, interfejsy i polimorfizm

Enkapsulacja, dziedziczenie, polimorfizm

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

Podejście obiektowe. Tablice obiektów Przykład 1 metody i atrybuty statyczne oraz niestatyczne

PARADYGMATY PROGRAMOWANIA Wykład 4

Definicje klas i obiektów. Tomasz Borzyszkowski

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

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Klasy abstrakcyjne i interfejsy

Tworzenie aplikacji w języku Java

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

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

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

Język JAVA podstawy. wykład 2, część 2. 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

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Aplikacje w środowisku Java

Wykład 1: Wprowadzenie do technologii Java

Języki i metody programowania Java Lab2 podejście obiektowe

Definiowanie własnych klas

Programowanie obiektowe

Platformy Programistyczne Podstawy języka Java

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

Wstęp do programowania w języku Java

TEMAT : KLASY DZIEDZICZENIE

JAVA. Tomasz Grzywacz.

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

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

Podstawowe części projektu w Javie

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Programowanie obiektowe

Programowanie obiektowe

Interfejsy i klasy wewnętrzne

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

Programowanie obiektowe. Wprowadzenie

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

Programowanie obiektowe - 1.

Definiowanie własnych klas

Wykład 6: Dziedziczenie

Kurs WWW. Paweł Rajba.

DOSTĘP DO METOD I ZMIENNYCH, TABLICE. Dostęp do zmiennych (na podstawie:l.lemay,r.cadenhead,java 2 dla kaŝdego, Helion 2001)

Języki i techniki programowania Ćwiczenia 3 Dziedziczenie

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.

Podejście obiektowe. Tablice (1) obiektów

Programowanie obiektowe Wykład 6. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14

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

Programowanie Komputerów

KOTLIN. Język programowania dla Androida

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

Wykład 5 Okna MDI i SDI, dziedziczenie

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Wprowadzenie w dziedziczenie. Klasa D dziedziczy klasę B: Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class).

Transkrypt:

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 Java Linki Boone oprogramowania Barry Java SDK1.4.2 Java dla programistów C i C++ Środowiska Java http://java.sun.com/j2se/1.4.2/download.html 2 Software Development Kit, Standard Edition, version 1.4.2 programistyczne np: (wersja Borland Jbuilder Help Symantec Jcreator ( http://www.allimant.org/javadoc/jdk14e.html) free Visual http://www.jcreator.com/download.htm) Café Autor: Zofia Kruczkiewicz, Programowanie obiektowe - java, materiał pomocniczy do wykładu 1 1

1. 1) Charakterystyka Obiektowy język Java języka składnia Java 2) Pliki gdzie źródłowe: nazwa musi nazwa_klasy_publicznej.java, być nazwą publicznej, języka podobna zdefiniowanej do języka w C++. Pliki Kompilator przetwarza program nazwa_klasy_publicznej.java tym na pliku. B-kod zwany po moŝe B-kod kompilacji: być (bytecode, zinterpretowana nazwa_klasy_publicznej.class J-code) i wykonywana przez maszynę wirtualną kod binarny 3) (JVM Maszyna jest Java abstrakcyjnym wirtualna Virtual Machine), Java komputerem, (JVM czyli urządzenie Java który Virtual wykonuje logiczne Machine). programy nazwa.class: Java a. b. c. oddzielny Just-In-Time interpretator program wbudowany (przetworzenie w przeglądarkę nazwa.class WWW, 4) Biblioteka specyficzny Javy dla danej pakiety maszyny) z oprogramowaniem wspomagającym na program wykonalny 2. programów interfejsu Tworzenie uŝytkownika, działających programu ogólnego w sieci w przeznaczenia Javie np. Internet, umoŝliwiającym tworzenie uruchamiany Aplikacja (application) w systemie operacyjnym - program (java.exe) interpretujący aplikacje jest przeglądarkę Program zawiera Aplet public (applet) publiczną zawierający static void metodę program między main(string klasową innymi interpretujący o args[]) jeden nagłówku moduł aplety źródłowy, jest którego wbudowany klasa publiczna np. w applet Uwaga: Program zawiera i jako miedzy zawierający moŝliwe aplikacja. www innymi jest między podstawowe napisanie innymi programu metody: jeden moduł init(), w Javie, źródłowy, start(), który stop(), którego będzie paint(), klasa pracował destroy() publiczna jako Autor: Zofia Kruczkiewicz, Programowanie obiektowe - java, materiał pomocniczy do wykładu 1 2

2.1. { public System.out.print("Dzien Tekst class static źródłowy Witaj void main(string w dobry, Javie args[]) 2.2. } Kompilacja nazywam javac Witaj.java się Jan Kowalski\n"); gdzie systemowi Witaj.java. 2.3. Interpretacja połoŝenie operacyjnemu, Zostanie (katalog) wygenerowany programu a katalog javac plik bieŝący (kompilator Witaj.class powinien Javy) z zawierać instrukcjami powinno plik być dla źródłowy znane java Witaj JVM Interpretator wyszuka plik java o nazwie (połoŝenie Witaj.class znane w katalogu systemowi bieŝącym operacyjnemu) Uwagi: sprawdzi, czy klasa Witaj posiada publiczną metodę statyczną main wszystkie wykona i instrukcje zawarte Dzien w bloku dobry, funkcji nazywam main, czyli się wyświetli Jan Kowalski na ekranie napis nie przejdzie do stałe, następnego zmienne wiersza i funkcje są elementami składowymi klas do ma wielkości globalnych, definiowanych poza klasą args kaŝda standardowa deklaruje się metod rozwijalnych (inline) o tym decyduje sam kompilator metody obiektów main (łańcuchów) z wiersza klasy rozkazowego String - w jako klasie parametr Witaj jest jest ona przekazywana pomijana tablica instrukcja kończy się średnikiem wywołanie przeciąŝona zawiera statyczny klasa System: main standardowego metoda System.out.print strumienia obiekt składowy generuje wyjściowego, oznacza typu jeden PrintStream w wiersz pisanie tym wypadku wyjściowy łańcucha o nazwie ekranu i powraca out typu String do metody do Autor: Zofia Kruczkiewicz, Programowanie obiektowe - java, materiał pomocniczy do wykładu 1 3

3.1. Java definicja implementowanie jako klasy, język dziedziczenie, obiektowy { class }//ciało nazwa_klasy metod interfejsów Klasa: przed public final Klasa - abstrakcyjna słowem klasa klasy class dostępna nie te moŝe nie moŝe mają zawierać publicznie wystąpić mieć wystąpień następcy metody jeden ze abstrakcyjne, specyfikatorów: abstract; podawać nie implementuje, implementacje w miejscu staje ciała się tych klasą metody metod. abstrakcyjną abstrakcyjnej KaŜda klasa, która występuje odziedziczy poprzedzone średnik; metodę kaŝda abstrakcyjną, słowem jej podklasa kluczowym ale musi public przed brak specyfikatora słowem abstract, class public mogą klasa final wystąpić dostępna dwa tylko specyfikatory: dla klas zdefiniowanych w tym samym jej pakiecie dziedziczenie (czyli klasa dziedziczy - po zawsze nazwie publicznie klasy wystąpią i tylko słowa: od jednej extends od klasy występuje definicji KaŜda klasa słów słowo dziedziczy extends extends, Object od predefiniowanej to oznacza to równowaŝne klasy Object. niejawne nazwa_superklasy) JeŜeli wystąpienie definicji klasy w nie interfejsach. (czyli implementowanie- w danej JeŜeli klasie dana zostaną po klasa nazwie implementuje zdefiniowane klasy wystąpią więcej metody, słowa: niŝ jeden implements zadeklarowane interfejs, wtedy nazwy_interfejsów w implementowanych kolejnych tej interfejsów dziedziczenie oddziela wielobazowe się przecinkami. Implementowanie metod kilku oznacza w C++ Autor: Zofia Kruczkiewicz, Programowanie obiektowe - java, materiał pomocniczy do wykładu 1 4

Ciało zamknięte klasy: moŝe zawierać w nawiasy zmienne klamrowe zmienne konstruktory (metody (statyczne, o nazwie składowe tj. klasy poprzedzone (to bez jest zwracanego pola słowem lub zmienne kluczowym typu) wystąpienia) metody klasowe zwykłe (nagłówek moŝna je wywołać, poprzedzony gdy słowem utworzono kluczowym obiekt static) static) private być float, nazwa przed poprzedzona nazwą char, kaŝdej boolean, typu zmiennej tylko moŝe nazwą dla void) wystąpić składowej, elementów typu lub podstawowego jeden klasowego zmiennej klasy ze specyfikatorów - private klasy, (byte, metody int short, d;), dostępu: lub int, funkcji long, klasy double, musi protected dotyczy dla słowo public klas final w zmiennych (dostęp tym (dostęp po samym specyfikatorze publiczny). klasy) pakiecie tylko w podklasie, Brak dostępu specyfikatora nawet przed jeśli oznacza, nazwą podklasa Ŝe typu dany naleŝy zmiennej element innego jest wystąpienia dostępny pakietu; tylko lub nie np. zmiennej public klasy static deklaruje final int jej stala1 nie modyfikowalność np. słowo final final int po stala2= specyfikatorze 10; dostępu = 10; koncowa_wersja ona być public redefiniowana final moŝe void wystąpić w koncowa_wersja klasie tylko dziedziczącej raz w rodzinie przed (){/* klas nazwą...*/ metody } definicja oznacza, publicznej Ŝe nie metody moŝe Autor: Zofia Kruczkiewicz, Programowanie obiektowe - java, materiał pomocniczy do wykładu 1 5

3.2. Dostęp obiektów Tworzenie do tej zmiennych klasy obiektu składowych klasy (statycznych) jest moŝliwy bez tworzenia Wartościami zbiorów np. Klasy System.out.println("Dzien i interfejsy zmiennych są typami tych referencyjnymi. dobry, typów nazywam są referencje się Jan Kowalski\n"); (odnośniki) do wartości lub p, np. instrukcja wartości Punkt reprezentowanych p; jedynie powiadamia przez te kompilator, zmienne. za Do której pomocą zmiennej typem new p moŝna jest Punkt przypisać (brak przydzielonego dowolny obiekt miejsca typu Punkt w Ŝe pamięci będzie przydzielając uŝywana taki mu obiekt) zmienna pamięć referencję który Argumentem np. Punkt p1 = operatora new Punkt(); p2 inicjuje = do new tego obiekt Punkt(1, obiektu, utworzony new 7); po jest czym generowany przez przypisuje operator przez go do kompilator new. zmiennej Operator p. konstruktor new Punkt(), zwraca Punkt(int Argumentem Dostęp new zwraca do a, elementów referencję int operatora b), który klasy do new tego inicjuje uzyskuje obiektu, jest się definiowany za po utworzony pomocą czym przypisuje operatora przez programistę operator go kropkowego do zmiennej new. konstruktor Operator p. Autor: Zofia Kruczkiewicz, Programowanie obiektowe - java, materiał pomocniczy do wykładu 1 6

1) tworzenia public Drukowanie na ekranie Przykłady { static class int obiektu ile; Napis //składowa klasowa //klasa w (istnieje pętli publiczna wartości niezaleŝnie niefinalna, od nie typu istnienia abstrakcyjna całkowitego obiektu tej klasy) bez public { for ile=10; static void main(string args[]) }{ System.out.println(j); (int j=0; j<ile; j++) //i //definicja //ile //konwersja przejście musi być do zmiennej składową następnej sterującej typu typu linii całkowitego static! w bloku instrukcji na łańcuch for tworzeniem } 2) } public { int Drukowanie ile; class Napis_ obiektu na ekranie w pętli //zmienna wartości składowa typu klasy całkowitego z public { p.ile=10; for Napis_ {System.out.println("petla (int static p j=0; = void new j<p.ile; main(string Napis_(); j++) "+j);} args[]) //przydziału //znaków //dodawanie //wywołanie //odwołanie jest referencją (cyfry) pamięci domyślnego łańcucha obiektu na uzyskanego obiektu pętla p konstruktora do klasy łańcucha za Napis_ podczas }} //konwersji z wartości typu całkowitego j pomocą Autor: Zofia Kruczkiewicz, Programowanie obiektowe - java, materiał pomocniczy do wykładu 1 7

3) Wywołanie programu z java listą argi parametrów { public class argi // klasa Jan publiczna, Kowalski public static { int static ile; void main(string args[]) //składowa klasowa nie abstrakcyjna i niefinalna { ile=args.length; for System.out.println(args[j]);} (int j=0; j<ile; j++) //pobranie //args[1] //args[0] ile musi - być liczby Kowalski Jan składową (łańcuch parametrów typu bez białych (w static przykładzie! znaków) 2) } 4) } Wywołanie programu java z listą argi_ parametrów public { class argi_ Jan Kowalski public int argi_ ile; p.ile=args.length; for (int p static = j=0; new void j<p.ile; argi_(); main(string j++) args[]) }}{ System.out.println(args[j]);} Autor: Zofia Kruczkiewicz, Programowanie obiektowe - java, materiał pomocniczy do wykładu 1 8

Dodatek Pliki źródłowych, Program źródłowe języka do w wykładu których Java i pakiety moŝe umieszcza się składać się definicje z wielu klas niezaleŝnie oraz interfejsów kompilowanych modułów tego Nazwa_klasy Moduły źródłowe jest nazwą są przechowywane publicznej w plikach pliki o do nazwie kompilacji Nazwa_klasy.java, gdzie w pliku Nazwa_klasy.java zdefiniowano jedną klasę, to w wyniku kompilacji zawierać dokładnie JeŜeli pliku program publiczną jeden powstaje jest moduł i statyczną aplikacją, źródłowy wynikowy funkcję to w (moduł zestawie Nazwa_klasy.class. main główny (kaŝdy modułów aplikacji) inny źródłowych moduł z klasą źródłowy musi publiczną, się moŝe znaleźć która rozszerza wielomodułowym. pakietu Moduł źródłowy, o klasę postaci przestrzeń z funkcją w package którym nazw main, programu definicje nazwa_pakietu; jeŝeli klas nie i pozwala jest oraz staje to interfejsów klasa się lepsze pakietem. publiczna). zarządzanie poprzedzono Deklaracja programem deklaracją domyślnego JeŜeli źródłowy nie zawiera deklaracji pakietu, to naleŝy on do tzw. pakietu i umieszczona Pakiety pliki wynikowe. są ściśle (pakietu w pliku powiązane Witaj.java bez nazwy). z katalogami, naleŝy Np. zadeklarowana do pakietu w których domyślnego. umieszcza wcześniej się klasa moduły Witaj, źródłowe Autor: Zofia Kruczkiewicz, Programowanie obiektowe - java, materiał pomocniczy do wykładu 1 9

Np. postaci: w katalogu nowak\myprog\pakiet1 Przykład tworzenia umieszczono i korzystania główny plik źródłowy z pakietu import package nowak.myprog.pakiet1.punkt; nowak.myprog.pakiet1; //moŝna uŝywać //klasa //tylko nazwy taka punkt1 kolejność: skrócone naleŝy do składowych package...; pakietu nowak.myprog.pakiet1 aplikacji klas import...; importowanych punkt1.java o { public { Punkt class static //zamiast = punkt1 new void nowak\myprog\pakiet1\punkt Punkt(1, main //tutaj (String[] 7); klasy args) Punkt } //... p1.zmien(2,5); p1= new nowak\myprog\pakiet1\punkt (1,7); Definicję class package { Punkt klasy nowak.myprog.pakiet1; Punkt umieszczono w pliku //klasa Punkt.java, naleŝy która do ma pakietu postać: }// definicja ciała klasy jak w przykładzie 5 nowak.myprog.pakiet1 katalogu Plik Przebieg punkt1.java kompilacji W importu wyniku nadrzędnego klasy kompilacji Punkt. zawiera zostaną javac w Plik stosunku definicję ten nowak\myprog\pakiet1\punkt1.java utworzone moŝe klasy do katalogu zostać punkt1, nowak). skompilowany poprzedzoną deklaracją (wywołaniem pakietu kompilatora oraz deklaracją punkt1.class dwa pliki, wynikowe: Punkt.class javac z spowoduje Wykonanie publicznej klasy wyprowadzenie programu punkt1 java nowak\myprog\pakiet1\punkt1 na ekran napisów tworzonych prze funkcje main Autor: Zofia Kruczkiewicz, Programowanie obiektowe - java, materiał pomocniczy do wykładu 1 10