Obsługa wyjątków. Rysunek 2-4 Hierarchia dziedziczenia klas wyjątków
|
|
- Bogdan Adamski
- 8 lat temu
- Przeglądów:
Transkrypt
1 Obsługa wyjątków Podczas działania programu mogą wystąpić róŝne sytuacje specjalne, do których naleŝą m.in. wystąpienia błędu polegającego na próbie otwarcia pliku, który nie istnieje. Java posiada zapoŝyczony z języka Ada mechanizm informowania o błędach: wyjątki (ang. exceptions). Mechanizm obsługi wyjątków w Javie umoŝliwia zaprogramowanie "wyjścia" z takich sytuacji krytycznych, dzięki czemu program nie zawiesi się po wystąpieniu błędu wykonując ciąg operacji obsługujących wyjątek. Generowanie i obsługę sytuacji wyjątkowych w Javie zrealizowano przy wykorzystaniu paradygmatu programowania zorientowanego obiektowo. Wystąpienie sytuacji wyjątkowej przerywa "normalny" tok wykonywania programu. W Javie sytuacja wyjątkowa występuje wtedy, gdy program wykona instrukcję throw. WyraŜenie throw przekazuje sterowanie do skojarzonego z nim bloku catch (łap, blok obsługujący wystąpienie sytuacji wyjątkowej). Jeśli nie ma bloku catch w bieŝącej metodzie, sterowanie natychmiastowo, bez zwracania wartości, przekazywane jest do metody, która wywołała bieŝącą funkcję. W tej metodzie szukany jest blok catch. Jeśli blok catch nie zostanie znaleziony, przekazuje sterowanie do metody, która wywołała tę metodę. Sterowanie przekazywane jest zatem zgodnie z łańcuchem wywołań metod, aŝ do momentu znalezienia bloku catch odpowiedzialnego za obsługę wyjątku. Wszystkie wyjątki, jakie mogą wystąpić w programie muszą być podklasą klasy Throwable. PoniŜszy rysunek pokazuje hierarchię dziedziczenia klasy Throwable i jej najwaŝniejszych podklas. Rysunek 2-4 Hierarchia dziedziczenia klas wyjątków Wyjątki typu Error występują wtedy, gdy wystąpi sytuacja specjalna w maszynie wirtualnej (np. błąd podczas dynamicznego łączenia). Wyjątki tego typu nie powinny być obsługiwane w "zwykłych" programach Javy. Jest takŝe mało prawdopodobne, Ŝe typowy program Javy spowoduje wystąpienie wyjątku tego typu.
2 W większości programów generowane są i obsługiwane obiekty, które dziedziczą z klasy Exception. Wyjątek tego typu oznacza, Ŝe w programie wystąpił błąd, lecz nie jest to powaŝny błąd systemowy. Szczególną podklasę klasy Exception stanowią wyjątki, które występują podczas wykonywania programu, są to wyjątki typu RunTimeExceptions (i jej podklas np.: NullPointerException, ClassCastException, IllegalThreadStateException i ArrayOutOfBoundsException) i występują np.: wtedy, gdy zostaną wyczerpane zasoby systemowe, nastąpi odwołanie do nie istniejącego elementu tablicy i inne. Gdy wyjątek taki nie jest obsłuŝony, program zostaje zatrzymany, a na ekranie pojawia się nazwa wyjątku oraz klasa i metoda, w której wystąpił. Dzięki temu wiemy, w którym miejscu kodu wystąpił błąd i moŝna go szybko poprawić. Generacja sytuacji wyjątkowych Zobaczmy na przykładzie, jak wygląda wywołanie wyjątku w programie. Przykład 2.20 Generacja sytuacji wyjątkowych public class WywolajWyjatek static public void main(string args[]) throws Exception Liczba liczba = new Liczba(); liczba.dziel(1); class Liczba int m_i = 10; int dziel(float i) throws Exception if (i/2!= 0) throw new Exception("Liczba nieparzysta!"); if (i == 0) throw new Exception("Dzielenie przez zero!"); return (int)(m_i/i); W metodzie Liczba.dziel() klasy WywolajWyjatek, za pomocą frazy throw new Exception("..."), generujemy wyjątek poprzez utworzenie obiektu typu Exception i przerywamy wykonanie metody. Jak juŝ wspomniano obiekt ten musi być typu będącego podklasą klasy Throwable. W programach zawsze generujemy wyjątki typu Exceptions lub dowolnej podklasy Exceptions. W ten sposób moŝna w Javie wywoływać wyjątki, dla sytuacji, które uwaŝamy za nieprawidłowe. W powyŝszym przykładzie załoŝono, Ŝe nieprawidłowa jest sytuacja gdy zmienna 'i' jest liczba nieparzystą lub jest równa zero. W obu przypadkach generowany jest wyjątek, choć z innym komentarzem. W definicji metody dziel() uŝyto frazy throws Exception, jej uŝycie informuje maszynę wirtualną Javy i metodę wołającą, Ŝe metoda moŝe generować wyjątek typu Exception. UŜycie tej frazy jest obowiązkowe, jeśli nasza metoda moŝe generować wyjątek. KaŜda metoda, która woła metodę dziel() musi albo mieć blok (catch) obsługujący wyjątek albo informację throws Exception, Ŝe moŝe być Źródłem wyjątku pochodzącego z metody, którą woła w swoim ciele.
3 Przykładem tego jest metoda main(), która nie ma obsługi wyjątku a tylko frazę throws Exception. W naszej aplikacji wygenerowany błąd nie zostaje nigdzie obsłuŝony, więc program kończy działanie, a na ekranie widzimy: Ilustracja 2-4 Rezultat wykonania aplikacji WywolajWyjatek. Wiadomo, Ŝe wyjątek moŝe wystąpić w programie właściwie w kaŝdym momencie jego wykonania. Nie jest wymagane uŝycie frazy throws NazwaKlasyWyjątku w nagłówku deklaracji metody dla błędów klasy RunTimeException lub jej podklas. Umieszczenie frazy throws dla tych przypadków jest jednak dobrym pomysłem, szczególnie wtedy, gdy sami generujemy jeden z powyŝszych wyjątków w swojej metodzie. Obsługa sytuacji wyjątkowych Blok instrukcji: //blok instrukcji gdzie moŝe wystąpić wyjątek catch (ObiektImplementujacyInterfejsThrowable nazwazmiennej) //blok instrukcji obsługujących wystąpienia sytuacji wyjątkowej //jest wykonywany tylko, gdy wystąpi wyjątek typu takiego jak // typ zmiennej będącej parametrem bloku catch catch (ObiektImplementujacyInterfejsThrowable nazwazmiennej)... catch (ObiektImplementujacyInterfejsThrowable nazwazmiennej)... finally //opcjonalnie // ten blok instrukcji jest wykonywany przed opuszczeniem // sterowania, nawet jeśli blok zawiera instrukcję // return lub spowodował wystąpienie wyjątku przeznaczony jest do obsługi wystąpienia sytuacji wyjątkowych. Blok catch jest fragmentem programu wykonywanym w przypadku wystąpienia wyjątku w bloku. Blok catch musi znajdować się zaraz za blokiem lub następnym blokiem catch. UŜycie wielu bloków catch pozwala obsłuŝyć wystąpienie wyjątków róŝnych typów. Przykładem uŝycia bloku catch niech będzie niewiele zmieniona metoda main() z klasy WywolajWyjatek: static public void main(string args[]) throws Exception
4 Liczba liczba = new Liczba(); liczba.dziel(1); catch (Exception e) e.printstacktrace(); pauza(); Dodano tu obsługę wystąpienia wyjątku typu Exception w metodzie liczba.dziel(). Wyjątek w bloku catch moŝe zostać obsłuŝony na wiele sposobów. W naszym przypadku, obsługa wystąpienia wyjątku polega na wydrukowaniu na ekranie (w tym celu uŝyto standardowej metody printstacktrace() z klasy Exception) ścieŝki wywołań do metody, w której wystąpił wyjątek. Informacje te są moŝe niezbyt waŝne dla uŝytkownika ale mają ogromne znaczenie dla programisty w procesie pisania i testowania kodu. Ilustracja 2-5 Rezultat wykonania aplikacji WywolajWyjatek po zmodyfikowaniu metody main(). Ewentualne wystąpienie wyjątku w metodzie dziel() dzięki zastosowanie bloku catch w metodzie main() zostanie obsłuŝone. Gdyby nie to, Ŝe takŝe metoda pomocnicza pauza() w metodzie main() moŝe generować wyjątek, uŝycie frazy throws Exception byłoby w metodzie main() nadmiarowe, choć nie byłoby błędem, poniewaŝ wyjątek moŝe wystąpić w innym miejscu programu. Sterowanie opuszcza blok w przypadku wystąpienia instrukcji return lub sytuacji wyjątkowej. Java pozwala jednak zdefiniować blok instrukcji, które będą wykonane zanim sterowanie opuści metodę niezaleŝnie od tego, czym jest to spowodowane. Jest to blok finalny (ang. finally block), nazywany tak od słowa kluczowego finally. W języku C++ nie ma odpowiednika bloku finalnego z Javy. PoniŜej prezentujemy przykład programu, który wyświetla na ekranie zawartość pliku: tekst.txt i próbuje zrobić to samo dla nieistniejącego pliku nieistniejacy.txt. Przykład 2.21 Obsługa wyjątków przy operacji czytania z pliku import java.io.*; class ReadFile public static void main(string[] args) throws Exception //Proba wyswietlenia na ekranie pliku tekst.txt PokazPlik(new File("tekst.txt")); //Proba wyswietlenia na ekranie zawartości // nieistniejacego pliku
5 PokazPlik(new File("nieistniejacy.txt")); //Zatrzymanie wyniku dzialania programu na ekranie pauza("koniec programu"); static void PokazPlik(File plik) throws Exception FileInputStream in = new FileInputStream(plik); //Klasa BufferedInputStream umoŝliwia czytanie wiekszych //ilości danych z pliku BufferedInputStream bin = new BufferedInputStream(in); byte btablica[] = new byte[10]; int nprzeczytanychbajtow; System.out.println("Dane z pliku "+plik.getname()); while(bin.available()>0) //czyanie danych z pliku nprzeczytanychbajtow = bin.read(btablica); //wyprowadzenie danych na ekran System.out.write(bTablica); //przechwycenie wyjątków podczas czytania z pliku catch (IOException ioe) System.out.println(ioe.toString()); finally //zamkniecie pliku in.close(); System.out.println(" Plik "+plik.getname()+" zamkniety"); // przechwycenie wyjątków podczas otwierania pliku catch (IOException ioe) System.out.println("Blad przy otwarciu pliku " + plik.getname()); ioe.printstacktrace(); finally pauza("koniec czytania"); static void pauza(string s) throws Exception System.out.print(s+" Nacisnij Enter... "); System.in.read();
6 Ilustracja 2-6 Wynik działania aplikacji ReadFile Zastosowanie bloku finally pozwala uniknąć dublowania kodu, który musiałby być napisany zarówno dla przypadku, gdy wystąpi wyjątek, jak i dla normalnego toku wykonania programu. Blok finalny jest odpowiednim miejscem do zwolnienia zasobów zarezerwowanych przez metodę, poniewaŝ zasoby te powinny być zwolnione niezaleŝnie od tego, czy wykonanie programu przebiegło w sposób zaplanowany, czy teŝ wystąpił wyjątek. Definiowanie klasy wyjątków W Javie umoŝliwiono definiowanie klasy wyjątków, które będą obsługiwały sytuacje, uznane przez programistę za wyjątkowe. Zaprezentujemy przykład, w którym zdefiniowano klasę wyjątków NaszWyjatek, która jest podklasą klasy Exception. Przykład 2.22 Definicja własnej klasy wyjątków class NaszWyjatek extends Exception NaszWyjatek() this(""); NaszWyjatek(String s) super(" *** \tnic sie nie stalo to tylko: " + "NaszWyjatek *** \t"+s);
7 Zdefiniujmy teraz klasę Wyjatek definiującą wyjątki: NaszWyjatek, operację dzielenia przez zero, odwołania do nieistniejącego obiektu, odwołania do elementu tablicy poza jej zakresem. public class Wyjatek static void pauza() throws Exception... public static void main(string[] args) throws Exception String wyjatki[] ="dzielenie","null","test","tablica"; for (int i = 0; i < 4; i++) wygeneruj(wyjatki[i]); System.out.println("Wyjatek przy operacji typu:\"" + wyjatki[i] + "\" nie zostal wygenerowany"); catch (Exception e) System.out.println("Przy operacji typu \"" + wyjatki[i] + "\" wystapil wyjatek: " + e.getclass() + " Z nastepujaca informacja: " + e.getmessage()); pauza(); static int wygeneruj(string s) throws NaszWyjatek if (s.equals("dzielenie")) int i = 0; return i/i; if (s.equals("null")) s = null; return s.length(); if (s.equals("test")) throw new NaszWyjatek("Test sie powiodl"); if (s.equals("tablica")) int t[] =new int[5] ; return t[6]; return 0; finally System.out.println(" [wygeneruj(\"" + s +"\") zakonczone]");
8 Jak widać na ilustracji 2-7 aplikacja w Javie po wystąpieniu wyjątków tego rodzaju nie zawiesza się ale moŝe je obsłuŝyć. W przykładzie obsługa sytuacji wyjątkowej sprowadza się do wydrukowania na ekranie informacji o wystąpieniu wyjątku i dodatkowego tekstu komentarza. Ilustracja 2-7 Wynik wykonania aplikacji Wyjatek. Obsługa wielu wyjątków Pojedyncza metoda moŝe spowodować wystąpienie wyjątków róŝnego rodzaju. Aby przedstawić sposób obsługi wielu wyjątków napiszmy szkielet aplikacji przeznaczonej do rezerwacji miejsc na loty do róŝnych miast. Przykład 2.23 Obsługa wyjątków róŝnego typu Na początku zdefiniujmy klasę Lot opisującą pojedynczy rejs samolotu. class Lot int m_niloscmiejsc, m_nwolnemiejsca, m_nzarezerwowane; // Tablica miejsca[] zawiera informacje o pasaŝerach, // którzy zarezerwowali poszczególne miejsca w samolocie. Pasazer miejsca[]; String KodRejsu; //... definicje innych pol danych Lot(int iloscmiejsc, String kod) // Konstruktor klasy Lot
9 m_niloscmiejsc = iloscmiejsc; // utworzenie tablicy wskaźników na obiekty typu Pasazer miejsca = new Pasazer[iloscMiejsc]; m_nwolnemiejsca = iloscmiejsc; // na początku nie ma Ŝadnego zarezerwowanego miejsca m_nzarezerwowane = 0; KodRejsu = kod; // Metoda SprawdzWolneMiejsca() sprawdza czy są jeszcze // wolne miejsca na bieŝący lot a w razie ich braku // powoduje wystąpienie wyjątku typu BrakWolnychMiejsc int SprawdzWolneMiejsca() throws BrakWolnychMiejsc if (m_nwolnemiejsca == 0) throw new BrakWolnychMiejsc(this); return m_nwolnemiejsca; //... definicje innych metod klasy Lot Zdefiniujmy teŝ klasę wyjątku BrakWolnychMiejsc, występującą wtedy, gdy nie ma juŝ wolnych miejsc na dany lot: class BrakWolnychMiejsc extends Exception BrakWolnychMiejsc(Lot l, String info) // Wywołanie konstruktora nadklasy: Exception(String) super(" "+info+l.kodrejsu+" "); BrakWolnychMiejsc(Lot l) // Wywołanie pierwszego konstruktora tej klasy this(l,"brak wolnych miejsc na lot :"); Zdefiniujmy takŝe klasę BrakRezerwacji jako podklasę klasy BrakWolnychMiejsc. Widać, Ŝe definiowane przez nas klasy wyjątku mogą w dowolny sposób obsługiwać wystąpienie wyjątku. (W naszym przykładzie klasy wyjątków ograniczają się do przygotowania odpowiednich komunikatów dla uŝytkownika.) class BrakRezerwacji extends BrakWolnychMiejsc BrakRezerwacji(Lot l, Pasazer p) // Wywołanie konstruktora nadklasy: // BrakWolnychMiejsc(Lot, String) super(l,"nie bylo rezerwacji na nazwisko " + p.nazwisko + " na lot ");
10 Klasa Pasazer opisuje pasaŝera i takie jego właściwości jak: imię i nazwisko (pole Nazwisko), rezerwację (pole Rezerwacja czyli referencja na obiekt typu Lot - opisujący lot na jaki pasaŝer zarezerwował miejsce). class Pasazer String Nazwisko; // dzięki deklaracji private informacja o rezerwacji // dostepna jest tylko poprzez metody tej klasy private Lot Rezerwacja; //... definicje innych pol danych Pasazer(String Nazwisko, Lot lot) throws BrakWolnychMiejsc //Sprawdzamy czy na lot sa wolne miejsca if ((lot!= null) && (lot.m_nwolnemiejsca == 0)) throw new BrakWolnychMiejsc(lot); this.nazwisko = Nazwisko; Rezerwacja = lot; System.out.println(this.Nazwisko+ " rezerwacja na lot"+lot.kodrejsu); // metoda ta sprawdza czy pasaŝer ma rezerwację na lot l // gdy takiej rezerwacji nie posiada generowany jest // wyjątek BrakRezerwacji boolean SprawdzRezerwacje(Lot l) throws BrakRezerwacji if (Rezerwacja!= l) throw new BrakRezerwacji(l,this); return true; //... definicje innych metod W celu sprawdzenia działania wszystkich powyŝej zadeklarowanych klas stworzono klasę Rezerwacja, w której w ciele metody main() wywołana jest metoda test().w metodzie test() w bloku tworzymy kolejne obiekty typu Pasazer (patrz linia /*14*/). PoniewaŜ dla obiektu lot[0] reprezentującego lot do Londynu liczba wolnych miejsc ustawiona została na zero (/*10*/), podczas próby utworzenia tego obiektu wygenerowany zostanie wyjątek BrakWolnychMiejsc. public class Rezerwacja public static void main(string args[]) throws Exception test(); static void test() throws Exception int ilosclotow = 3; // deklaracja i inicjalizacja tablicy pas[] // zawierającej informacje o nazwisku i imieniu // pasaŝera, dane te zostaną uŝyte przy inicjalizacji // tablicy pasaŝer[] String pas[] = "Kowalski Artur","Nowak Olga","Egg Jan"; // deklaracja i utowrzenie tablicy pasazer[] referencji do // obiektów typu PasaŜer (bez inicjalizacji)
11 Pasazer pasazer[] = new Pasazer[pas.length]; Lot lot[] = new Lot[iloscLotow] ; // inicjalizacja tablicy lot[] lot[0] = new Lot(250,"Londyn g BA"); lot[1] = new Lot(150,"Los Angelse g A&A"); lot[2] = new Lot(250,"New York Lot"); // ustawienie ilości wolnych miejsc na 0 dla lotu do Londynu // robimy to aby wymusić wystąpienie wyjątku // BrakWolnychMiejsc dla próby rezerwacji miejsc na ten lot /*10*/ lot[0].m_nwolnemiejsca = 0; for (int i=0;i<ilosclotow;i++) //Próba rezerwacji dla pasaŝera pas[i] na lot lot[i] /*14*/ pasazer[i] = new Pasazer(pas[i],lot[i]); // Tu sprawdzamy, czy pasazer[1] ma rezerwację // na lot lot[0], a poniewaŝ nie ma tej rezerwacji // wygenerowany zostanie wyjątek BrakRezerwacji if (i==2) pasazer[1].sprawdzrezerwacje(lot[0]); /*18*/ catch (BrakRezerwacji br) System.out.println(" ***********"); br.printstacktrace(); /*23*/ catch (BrakWolnychMiejsc bwm) bwm.printstacktrace(); catch (Exception e) e.printstacktrace(); finally System.out.println("==================== "); /*35*/ pauza(); static void pauza() throws Exception /*... Zdefiniowana juŝ wcześniej w tej pracy */ Ewentualne wystąpienie wyjątków typu BrakWolnychMiejsc i BrakRezerwacji jest obsłuŝone w metodzie test(), nie ma potrzeby informowania o ich wystąpieniu metod wołających metodę test() (fraza throws). W nagłówku metody test() mamy jednak frazę: throws, informuje ona metody wołające ją, Ŝe w metodzie tej moŝe wystąpić wyjątek typu Exception pochodzący z metody pauza()/*35*/. Po wystąpieniu wyjątku w bloku, Java porównuje wyjątek, który wystąpił z parametrami poszczególnych bloków catch. Przypuśćmy, Ŝe wystąpił wyjątek typu BrakWolnychMiejsc, pierwszy blok catch /*18*/ nie obsługuje tego wyjątku, więc sterowanie przekazywane jest do drugiego bloku /*23*/, który obsłuŝy wystąpienie tego wyjątku. W ten sposób moŝemy obsłuŝyć wystąpienie wyjątków róŝnego rodzaju.
12 Ilustracja 2-8 Wynik wykonania aplikacji Rezerwacja. NaleŜy jednak pamiętać, Ŝe wyjątek moŝe być obsłuŝony nie tylko wtedy, gdy parametrem bloku catch będzie zmienna typu takiego, jak typ wyjątku, który wystąpił. Wyjątek będzie obsłuŝony takŝe w przypadku, gdy parametrem bloku catch będzie zmienna typu, z którego dziedziczy typ wyjątku. Dlatego, gdyby dla naszego przykładu kolejność obsługi wyjątków była następująca:... catch (Exception e)... catch (BrakRezerwacji br)... catch (BrakWolnychMiejsc bwm)... wyjątki typu BrakRezerwacji i BrakWolnychMiejsc nigdy nie zostałyby obsłuŝone w bloku catch do tego przeznaczonym ale zawsze w bloku catch (Exception e). Większość kompilatorów Javy dla takiego przypadku generuje błąd kompilacji, np. Microsoft Visual J++ po kompilacji wyświetli komunikat: error J0102: Handler for 'BrakRezerwacji' hidden by earlier handler for 'Exception' error J0102: Handler for 'BrakWolnychMiejsc' hidden by earlier handler for 'Exception'
13 NaleŜy więc pamiętać aby bardziej ogólne bloki catch obsługi wyjątków umieszczać dalej. Źródło Tutorial "Java - nowy standard programowania w Internecie" Artur Tyloch
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ółowoWYJĄTKI. Jest ona jednak czasochłonna i prowadzi do duŝego zapotrzebowania na zasoby systemu.
WYJĄTKI Klasa Throwable Exception Error Klasy dziedziczące po klasie Exception są typami wyjątków, które automatycznie obsługuje Java lub program przy jawnym przechwytywaniu i obsłudze wyjątków w blokach
Bardziej szczegółowoAplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Wyjątki mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Spis treści Wyjątki... 3 2 Wyjątki Podczas pracy programu
Bardziej szczegółowoWyją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ółowoThrowable. Wyjatek_1(int x_) { x = x_; } int podaj_x()
Wykład 3. Wyjątki 1) Obsługa wyjątków system czasu przebiegu Javy przerwanie programu class Wyjatek_1 //plik Proba_1.java int x; Wyjatek_1(int x_) x = x_; int iloraz() int p = 45/x; //generowanie wyjątku
Bardziej szczegółowoWyjątki Monika Wrzosek (IM UG) Programowanie obiektowe 180 / 196
Wyjątki 180 / 196 Wyjątki W Javie istnieje mechanizm tzw. wyjątków (ang. exception), który pozwala na przechwytywanie błędów pojawiających się w programie. Kompilacja tab [ 1 0 ] = 100; spowoduje powstanie
Bardziej szczegółowoWykład 8: Obsługa Wyjątków
Wykład 8: Obsługa Wyjątków Wyjątki Wyjątek to sytuacja nienormalna, która pojawia się w trakcie wykonania programu. W językach bez obsługi wyjątków, błędy są wykrywane i obsługiwane ręcznie, zwykle przez
Bardziej szczegółowoJęzyki i metody programowania Java INF302W Wykład 3 (część 1)
Języki i metody programowania Java INF302W Wykład 3 (część 1) Autor Dr inż. Zofia Kruczkiewicz Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 3, część 1 1 STRUKTURA WYKŁADU 1. Wyjątki,
Bardziej szczegółowoProgramowanie 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ółowoObsługa błędów za pomocą wyjątków. Paweł Motofa (140746)
Obsługa błędów za pomocą wyjątków Paweł Motofa (140746) Co zrobić, gdy wystąpi błąd Przykład Co zrobić, gdy wystąpi błąd Co zrobić, gdy wystąpi błąd Co zrobić, gdy wystąpi błąd Jak wyglądałaby funkcja
Bardziej szczegółowoProgramowanie 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ółowoProgramowanie Obiektowe Ćwiczenie 4
Programowanie Obiektowe Ćwiczenie 4 1. Zakres ćwiczenia wyjątki kompozycja 2. Zagadnienia Założeniem, od którego nie należy odbiegać, jest by każdy napotkany problem (np. zatrzymanie wykonywanej metody)
Bardziej szczegółowoJava: 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ółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof
Bardziej szczegółowoProgramowanie 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ółowoPolimorfizm, 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ółowoDokumentacja 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ółowoKurs 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ółowoInformatyka 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ółowoJę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ółowoJAVA 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ółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 9: Wyjątki 5/5/2013 S.Deniziak:Programowanie obiektowe - Java 1 Co to jest wyjątek? błąd wykonania: InputFile.java:8: Warning: Exception java.io.filenotfoundexception must
Bardziej szczegółowoJAVA. 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ółowoProgramowanie 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Ć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ółowoDziedziczenie. Tomasz Borzyszkowski
Dziedziczenie Tomasz Borzyszkowski Podstawy Zobacz: Dziedzictwo1.java Dziedzictwo2.java Dziedziczenie jest jedną z podstawowych cech OOP ponieważ umożliwia łatwe implementowanie klasyfikacji hierarchicznych.
Bardziej szczegółowoKurs 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ółowoMultimedia 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ółowoWyjątki (exceptions)
Instrukcja laboratoryjna nr 6 Programowanie w języku C 2 (C++ poziom zaawansowany) Wyjątki (exceptions) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp Wyjątki (ang.
Bardziej szczegółowoProgramowanie 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ółowoZad.30. Czy można utworzyć klasę, która implementuje oba interfejsy?
Zad.28. Utwórz klasę, która implementuje oba interfejsy: public void pisz ( ) ; public void pisz ( ) ; Zad.29. Utwórz klasę, która implementuje oba interfejsy: public void pisz ( int l i c z b a ) ; public
Bardziej szczegółowoJava SE Laboratorium nr 4. Temat: Obsługa wyjątków i zdarzeń
Java SE Laboratorium nr 4 Temat: Obsługa wyjątków i zdarzeń 1 1. Definicja i idea I. Obsługa wyjątków Praktycznie w każdym większym programie powstają jakieś błędy. Powodów jest bardzo wiele, może być
Bardziej szczegółowoRozdział 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ółowoInterfejsy. 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ółowoAplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - dziedziczenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 W ramach poprzedniego laboratorium
Bardziej szczegółowoKurs 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ółowoWykł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ółowoJava podstawy jęyka. Wykład 2. Klasy abstrakcyjne, Interfejsy, Klasy wewnętrzne, Anonimowe klasy wewnętrzne.
Java podstawy jęyka Wykład 2 Klasy abstrakcyjne, Interfejsy, Klasy wewnętrzne, Anonimowe klasy wewnętrzne. Wyjątki: obsługa błędów Wydział Fizyki i Informatyki Stosowanej, Uniwersytetu Łódzkiego 12.03.2015
Bardziej szczegółowoDziedziczenie. Streszczenie Celem wykładu jest omówienie tematyki dziedziczenia klas. Czas wykładu 45 minut.
Dziedziczenie Streszczenie Celem wykładu jest omówienie tematyki dziedziczenia klas. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasy Student oraz Pracownik: class Student class Pracownik
Bardziej szczegółowoWielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.
Wielowątkowość Programowanie w środowisku rozproszonym. Wykład 1. Informacje organizacyjne Wymiar godzin: W-30, LAB-15 Zaliczenie wykonanie kilku programów i ich zaliczenie (w trakcie zajęć laboratoryjnych)
Bardziej szczegółowoWykł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ółowoPolimorfizm. 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ółowoWykł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ółowoProgramowanie 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ółowoLaboratorium 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ółowoProgramowanie 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ółowoKonstruktory. 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ółowoKurs 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ółowoKonwencje obsługi błędów
Obsługa błędów Rakieta Ariane 5 spadła 40 sekund po starcie. Straty 0,5 miliarda dolarów. Przyczyna: wyjątek (exception) rzucony przez kod napisany pierwotnie dla Ariane 4. Feralna procedura była niepotrzebna
Bardziej szczegółowoJava. 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ółowoProgramowanie 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ółowopublic - 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ółowoJava. 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ółowoKlasy. 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ółowoDawid Gierszewski Adam Hanasko
Dawid Gierszewski Adam Hanasko Chcemy stworzyć klasę w której możemy przechowywać dwie zmienne dowolnych typów Tworzymy tyle różnych klas ile potrzeba: Class ParaInt{ int pierwszy; Int drugi; Class ParaButow{
Bardziej szczegółowo1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4);
1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4); a) b) c) d) 2. Jaki będzie wynik kompilacji i wykonania
Bardziej szczegółowoPierwsze 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ółowodziedziczenie - 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ółowoWykł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ółowoAplikacje 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ółowoJę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ółowoObiekt 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ółowoProgramowanie 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ółowoObszar 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ółowoKompozycja i dziedziczenie klas
Związki między klasami: jest i zawiera Programowanie obiektowe Przkład: Pojazd Kompozycja i dziedziczenie klas Silnik Pojazd silnikowy Rower Wóz konny Paweł Rogaliński Instytut Informatyki, Automatyki
Bardziej szczegółowoObiektowe 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ółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki zaprojektowany jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych jest to język pozwalający na programowanie zarówno proceduralne
Bardziej szczegółowoPlatformy Programistyczne Wykład z Javy dla zaawansowanych
Platformy Programistyczne Wykład z Javy dla zaawansowanych Agata Migalska 20 maja 2014 Plan wykładu 1 Polimorfizm i dziedziczenie 2 Życie i śmierć obiektu 3 Poziomy oraz modyfikatory dostępu 4 Obsługa
Bardziej szczegółowoSzablony funkcji i klas (templates)
Instrukcja laboratoryjna nr 3 Programowanie w języku C 2 (C++ poziom zaawansowany) Szablony funkcji i klas (templates) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp
Bardziej szczegółowoDziedziczenie. 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ółowoWywoł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ółowoATD. Wykład 8. Programowanie (język C++) abstrakcyjny typ danych. Abstrakcyjne typy danych (ATD) Metody czysto wirtualne. Definicje i uwagi:
Programowanie (język C++) Wykład 8. ATD abstrakcyjny typ danych Tomasz Marks - Wydział MiNI PW -1- Tomasz Marks - Wydział MiNI PW -2- Metody czysto wirtualne Metody czysto wirtualne otrzymujemy inicjalizując
Bardziej szczegółowoWykład 04. Programowanie obiektowe. Maciej Wołoszyn 17 marca Spis treści
Programowanie obiektowe Wykład 04 Maciej Wołoszyn mailto:woloszyn@fatcat.ftj.agh.edu.pl 17 marca 2009 Spis treści 1 Wyjatki i obsługa błędów 2 1.1 Rzucanie wyjątków............................... 2 1.2
Bardziej szczegółowo1. 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ółowoPrzypomnienie o klasach i obiektach
Wykład 14 Programowanie obiektowe ciąg dalszy, str 1 Przypomnienie o klasach i obiektach -5 należydo int 314 należy do double false należy do boolean {27, 314,-15 należy do double[] wartość należy do typ
Bardziej szczegółowoWprowadzanie danych z klawiatury. Wyjątki związane z wprowadzaniem danych, przekroczeniem rozmiaru tablicy, dzieleniem przez zero itd.
-1-1. Wyjątki 2. Przykładowe zadania Wyjątki Wyjątek w Java jest obiektem, który opisuje sytuację błędną powstałą w kodzie. Zaistnienie sytuacji błędnej w metodzie powoduje utworzenie obiektu reprezentującego
Bardziej szczegółowoObsługa wyjątków. Język C++ WW12
Obsługa wyjątków Pozwala zarządzać błędami wykonania w uporządkowany sposób. Umożliwia automatyczne wywołanie części kodu, funkcji, metod klas, który trzeba wykonać przy powstaniu błędów. try //blok try
Bardziej szczegółowoProgramowanie 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ółowoDziedziczenie jednobazowe, poliformizm
Dziedziczenie jednobazowe, poliformizm 1. Dziedziczenie jednobazowe 2. Polimorfizm część pierwsza 3. Polimorfizm część druga Zofia Kruczkiewicz, ETE8305_6 1 Dziedziczenie jednobazowe, poliformizm 1. Dziedziczenie
Bardziej szczegółowoAplikacje RMI. Budowa aplikacji rozproszonych. Część 2.
Aplikacje RMI Część 2 Budowa aplikacji rozproszonych http://java.sun.com/j2se/1.5.0/docs/guide/rmi/socketfactory/index.html I. Implementacja gniazd dziedziczących po Socket i ServerSocket oraz produkcji
Bardziej szczegółowoĆwiczenie VB3.4 Struktura Try...Catch, obiekt Err, metoda Err.Raise (Strukturalna obsługa wyjątków)
Ćwiczenie VB3.4 Struktura..., obiekt Err, metoda Err.Raise (Strukturalna obsługa wyjątków) Jeśli wpiszemy do okna tekstowego zamiast cyfr litery (np. abc), a następnie spróbujemy ten ciąg znaków przekonwertować
Bardziej szczegółowoWykł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ółowoProgramowanie obiektowe Wykład 3. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Przydzielanie pamięci Poniżej przedstawiono w C++ dwie klasy obrazujące sposób rezerwacji pamięci. class Osoba char imie[30];
Bardziej szczegółowoProgramowanie obiektowe i zdarzeniowe
Marek Tabędzki Programowanie obiektowe i zdarzeniowe 1/23 Programowanie obiektowe i zdarzeniowe wykład 6 polimorfizm Na poprzednim wykładzie: dziedziczenie jest sposobem na utworzenie nowej klasy na podstawie
Bardziej szczegółowoPodstawy 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ółowoKLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
Bardziej szczegółowoProgram 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje:
Program 6 Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje: Funkcja pobierz_osobe wczytuje dane osoby podanej jako argument. Funkcja wypisz_osobe
Bardziej szczegółowoProgramowanie 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ółowoJava - 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ółowoWspół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ółowoJę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ółowoPodejście obiektowe do budowy systemów rozproszonych
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak (IIPP) 1 Mechanizm
Bardziej szczegółowoRemote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1
interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowoPODEJŚCIE OBIEKTOWE. Przykład 1 metody i atrybuty statyczne
Przykład 1 metody i atrybuty statyczne public class Napis1 { static String wynik; public static void Inicjuj() {wynik = ""; PODEJŚCIE OBIEKTOWE public static void Dopisz_do_wyniku(char ch) { wynik+="\nkod
Bardziej szczegółowoKlasa 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ółowoProgramowanie obiektowe
Wykład 2 28 lutego 2019 Plan wykładu 1 2 3 4 5 Plan wykładu 1 2 3 4 5 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie; standardy ISO i ECMA; podobny składniowo do C++; Język C Krótka
Bardziej szczegółowoKlasy abstrakcyjne i interfejsy
Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie
Bardziej szczegółowoJę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ółowoDefinicje 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ółowoProgramowanie obiektowe - 1.
Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która
Bardziej szczegółowo