Obsługa błędów czyli jak sobie radzić z prawem Murphy ego
|
|
- Juliusz Chrzanowski
- 7 lat temu
- Przeglądów:
Transkrypt
1 Obsługa błędów czyli jak sobie radzić z prawem Murphy ego Daniel Janus nathell/blog 26 czerwca 2008
2 Anything that can go wrong, will przypisywane Edwardowi A. Murphy emu ( )
3 1 Błędy i bugi
4 1 Błędy i bugi 2 Obsługa błędów w C
5 1 Błędy i bugi 2 Obsługa błędów w C 3 Inne języki: wyjątki
6 1 Błędy i bugi 2 Obsługa błędów w C 3 Inne języki: wyjątki 4 Poza wyjątkami
7 Co jest błędem, a co bugiem? Błędy konsekwencje prawa Murphy ego: jeśli coś się może nie udać, to się nie uda
8 Co jest błędem, a co bugiem? Błędy konsekwencje prawa Murphy ego: jeśli coś się może nie udać, to się nie uda Zabraknie pamięci
9 Co jest błędem, a co bugiem? Błędy konsekwencje prawa Murphy ego: jeśli coś się może nie udać, to się nie uda Zabraknie pamięci Zapis na dysk się nie powiedzie
10 Co jest błędem, a co bugiem? Błędy konsekwencje prawa Murphy ego: jeśli coś się może nie udać, to się nie uda Zabraknie pamięci Zapis na dysk się nie powiedzie Nie uda się wysłać pakietu w sieć
11 Co jest błędem, a co bugiem? Błędy konsekwencje prawa Murphy ego: jeśli coś się może nie udać, to się nie uda Zabraknie pamięci Zapis na dysk się nie powiedzie Nie uda się wysłać pakietu w sieć Serwer, z którym rozmawiamy, się wykrzaczy
12 Co jest błędem, a co bugiem? Błędy konsekwencje prawa Murphy ego: jeśli coś się może nie udać, to się nie uda Zabraknie pamięci Zapis na dysk się nie powiedzie Nie uda się wysłać pakietu w sieć Serwer, z którym rozmawiamy, się wykrzaczy Bugi nieoczekiwane zachowania programu
13 Co jest błędem, a co bugiem? Błędy konsekwencje prawa Murphy ego: jeśli coś się może nie udać, to się nie uda Zabraknie pamięci Zapis na dysk się nie powiedzie Nie uda się wysłać pakietu w sieć Serwer, z którym rozmawiamy, się wykrzaczy Bugi nieoczekiwane zachowania programu
14 Powiązanie Błędy niekoniecznie muszą oznaczać bugi, ale nieobsłużenie błędu prawie na pewno spowoduje powstanie buga
15 Obsługa błędów w C Język C nie ma żadnego dedykowanego mechanizmu kontroli błędów. Jeśli wywołanie funkcji nie powiedzie się, musi ona zwrócić wartość specjalną oznaczającą powstanie błędu.
16 Obsługa błędów w C Język C nie ma żadnego dedykowanego mechanizmu kontroli błędów. Jeśli wywołanie funkcji nie powiedzie się, musi ona zwrócić wartość specjalną oznaczającą powstanie błędu. Należy zawsze sprawdzać tę wartość.
17 Obsługa błędów w C Język C nie ma żadnego dedykowanego mechanizmu kontroli błędów. Jeśli wywołanie funkcji nie powiedzie się, musi ona zwrócić wartość specjalną oznaczającą powstanie błędu. Należy zawsze sprawdzać tę wartość. Przykłady malloc() zwraca NULL, jeśli nie udało się przydzielić pamięci Większość funkcji systemowych zwraca -1 w przypadku niepowodzenia i ustawia zmienną errno
18 Szóste przykazanie 6. If a function be advertised to return an error code in the event of difficulties, thou shalt check for that code, yea, even though the checks triple the size of thy code and produce aches in thy typing fingers, for if thou thinkest it cannot happen to me, the gods shall surely punish thee for thy arrogance. Henry Spencer, The Ten Commandments for C Programmers (Annotated Edition)
19 Grzechy przeciw szóstemu przykazaniu Grzechy lekkie Kto sprawdza, co zwróciło printf() albo fprintf()?
20 Grzechy przeciw szóstemu przykazaniu Grzechy lekkie Kto sprawdza, co zwróciło printf() albo fprintf()? Jeśli wypisanie tekstu się nie uda, to rzadko jest sens reagować na taką sytuację inaczej niż ignorując błąd. (Wypisywać komunikat o błędzie? A jeśli znowu się nie uda?)
21 Grzechy przeciw szóstemu przykazaniu Grzechy lekkie Kto sprawdza, co zwróciło printf() albo fprintf()? Jeśli wypisanie tekstu się nie uda, to rzadko jest sens reagować na taką sytuację inaczej niż ignorując błąd. (Wypisywać komunikat o błędzie? A jeśli znowu się nie uda?) Ale co w sytuacji, gdy piszemy za pomocą fprintf() do pliku opartego via fdopen() na deskryptorze gniazda sieciowego?
22 Grzechy przeciw szóstemu przykazaniu (cd.)...i cięższe Często zdarza nam się nie sprawdzać wartości malloc().
23 Grzechy przeciw szóstemu przykazaniu (cd.)...i cięższe Często zdarza nam się nie sprawdzać wartości malloc(). Pod Linuksem to najczęściej nie boli: malloc() rzadko zwraca NULL, co więcej, nawet jeśli zwróci wartość nienullową, nie ma gwarancji, że pamięć jest rzeczywiście dostępna (optymistyczna strategia przydziału).
24 Grzechy przeciw szóstemu przykazaniu (cd.)...i cięższe Często zdarza nam się nie sprawdzać wartości malloc(). Pod Linuksem to najczęściej nie boli: malloc() rzadko zwraca NULL, co więcej, nawet jeśli zwróci wartość nienullową, nie ma gwarancji, że pamięć jest rzeczywiście dostępna (optymistyczna strategia przydziału)....chyba że parametr VM jądra overcommit_memory jest ustawiony na 2.
25 Jak sobie zaoszczędzić pisania Wyabstrahować obsługę błędów Jeśli obsługa pewnego rodzaju błędu (np. braku pamięci) jest taka sama w całym programie, to warto umieścić ją w osobnej funkcji.
26 Wady mechanizmu z C
27 Wady mechanizmu z C Konieczność żmudnego sprawdzania kodu błędu za każdym razem
28 Wady mechanizmu z C Konieczność żmudnego sprawdzania kodu błędu za każdym razem Kod każdej nietrywialnej funkcji jest usiany sprawdzeniami
29 Wady mechanizmu z C Konieczność żmudnego sprawdzania kodu błędu za każdym razem Kod każdej nietrywialnej funkcji jest usiany sprawdzeniami Brak możliwości oddzielenia obsługi błędów od właściwego kodu
30 Wady mechanizmu z C Konieczność żmudnego sprawdzania kodu błędu za każdym razem Kod każdej nietrywialnej funkcji jest usiany sprawdzeniami Brak możliwości oddzielenia obsługi błędów od właściwego kodu Szczególnie dobrze widać to na przykładzie kodu przydzielającego i używającego kilku zasobów.
31 Wady mechanizmu z C (cd.) int funkcja() { int retval = -1; resource resource1 = allocate_resource(); if (resource1 == NULL) goto err1; resource resource2 = allocate_resource(); if (resource2 == NULL) goto err2; resource resource3 = allocate_resource(); if (resource3 == NULL) goto err3; if (do_something(resource1, resource2, resource3) == 0) retval = 0; deallocate_resource(resource3); err3: deallocate_resource(resource2); err2: deallocate_resource(resource1); err1: return retval; }
32 Wyjątki
33 Wyjątki Mechanizm pozwalający na oddzielenie obsługi błędów od miejsca ich wystąpienia
34 Wyjątki Mechanizm pozwalający na oddzielenie obsługi błędów od miejsca ich wystąpienia Wprowadzony po raz pierwszy w PL/I ok. 1970
35 Wyjątki Mechanizm pozwalający na oddzielenie obsługi błędów od miejsca ich wystąpienia Wprowadzony po raz pierwszy w PL/I ok try { actual_code(); } catch (exception e) { handle_exception(e); } catch (another_exception e) { handle_another_exception(e); }
36 Wyjątki Mechanizm pozwalający na oddzielenie obsługi błędów od miejsca ich wystąpienia Wprowadzony po raz pierwszy w PL/I ok try { actual_code(); } catch (exception e) { handle_exception(e); } catch (another_exception e) { handle_another_exception(e); } W ciele funkcji actual_code() albo wołanych przez nią funkcyj może pojawić się operacja zwana rzuceniem albo zgłoszeniem wyjątku
37 Wyjątki Mechanizm pozwalający na oddzielenie obsługi błędów od miejsca ich wystąpienia Wprowadzony po raz pierwszy w PL/I ok try { actual_code(); } catch (exception e) { handle_exception(e); } catch (another_exception e) { handle_another_exception(e); } W ciele funkcji actual_code() albo wołanych przez nią funkcyj może pojawić się operacja zwana rzuceniem albo zgłoszeniem wyjątku Powoduje ona zwinięcie stosu do najbliższego odpowiadającego bloku catch
38 Wyjątki w różnych językach Rodzaje wyjątków
39 Wyjątki w różnych językach Rodzaje wyjątków W językach obiektowych można definiować klasy wyjątków
40 Wyjątki w różnych językach Rodzaje wyjątków W językach obiektowych można definiować klasy wyjątków Jeśli dany blok try/catch nie obsługuje wyjątku danej klasy, jest ona pomijana i następuje poszukiwanie handlera wyżej, aż do wierzchołka stosu
41 Wyjątki w różnych językach Rodzaje wyjątków W językach obiektowych można definiować klasy wyjątków Jeśli dany blok try/catch nie obsługuje wyjątku danej klasy, jest ona pomijana i następuje poszukiwanie handlera wyżej, aż do wierzchołka stosu W Javie wszystkie wyjątki wyprowadzone są z klasy Throwable, a własne należy wyprowadzać z Exception lub jej podklas
42 Wyjątki w różnych językach Rodzaje wyjątków W językach obiektowych można definiować klasy wyjątków Jeśli dany blok try/catch nie obsługuje wyjątku danej klasy, jest ona pomijana i następuje poszukiwanie handlera wyżej, aż do wierzchołka stosu W Javie wszystkie wyjątki wyprowadzone są z klasy Throwable, a własne należy wyprowadzać z Exception lub jej podklas W C++ rzucane mogą być dowolne obiekty (ale zaleca się wyprowadzanie wyjątków z std::exception)
43 Wyjątki w różnych językach (cd.) Klauzula finally
44 Wyjątki w różnych językach (cd.) Klauzula finally Może się pojawić w bloku try po klauzulach catch
45 Wyjątki w różnych językach (cd.) Klauzula finally Może się pojawić w bloku try po klauzulach catch Kod objęty tą klauzulą wykonywany jest niezależnie od tego, czy ciało bloku try wykona się normalnie czy zostanie rzucony wyjątek
46 Wyjątki w różnych językach (cd.) Klauzula finally Może się pojawić w bloku try po klauzulach catch Kod objęty tą klauzulą wykonywany jest niezależnie od tego, czy ciało bloku try wykona się normalnie czy zostanie rzucony wyjątek Najczęściej używana do zapewnienia zwalniania zasobów
47 Wyjątki w różnych językach (cd.) Klauzula finally Może się pojawić w bloku try po klauzulach catch Kod objęty tą klauzulą wykonywany jest niezależnie od tego, czy ciało bloku try wykona się normalnie czy zostanie rzucony wyjątek Najczęściej używana do zapewnienia zwalniania zasobów Dostępna w Javie, C#, Pythonie, Common Lispie (pod nazwą UNWIND-PROTECT) ale nie w OCamlu (choć można ją łatwo dodać za pomocą OCamlowych możliwości rozszerzeń składniowych) ale nie w C++ (który woli używać techniki RAII do zwalniania zasobów)
48 Resource Acquisition Is Initialization The C++ way Pozyskanie zasobu jest inicjalizacją
49 Resource Acquisition Is Initialization The C++ way Pozyskanie zasobu jest inicjalizacją Wzorzec projektowy postulujący, że pozyskanie zasobu powinno być powiązane z konstrukcją obiektu, a jego zwolnienie z automatyczną destrukcją
50 Resource Acquisition Is Initialization The C++ way Pozyskanie zasobu jest inicjalizacją Wzorzec projektowy postulujący, że pozyskanie zasobu powinno być powiązane z konstrukcją obiektu, a jego zwolnienie z automatyczną destrukcją W C++ pamięć traktuje się pod tym względem tak jak każdy inny zasób
51 Resource Acquisition Is Initialization The C++ way Pozyskanie zasobu jest inicjalizacją Wzorzec projektowy postulujący, że pozyskanie zasobu powinno być powiązane z konstrukcją obiektu, a jego zwolnienie z automatyczną destrukcją W C++ pamięć traktuje się pod tym względem tak jak każdy inny zasób Kłóci się to z odśmiecaniem w językach odśmiecanych programista rzadko troszczy się o czas życia obiektu
52 Resource Acquisition Is Initialization cd. class resource { private: resource_t res; public: resource() { res = allocate_resource(); } ~resource() { deallocate_resource(res); } }; void funkcja() { try { resource res1, res2; // initialize resources do_something(res1, res2); } catch (...) { std::cerr << "Error!" << std::endl; } }
53 Wersja z try/finally void funkcja() { try { resource res1 = allocate_resource(); try { resource res2 = allocate_resource(); do_something(res1, res2); } finally { deallocate_resource(res2); } } finally { deallocate_resource(res1); } }
54 Wersja z try/finally void funkcja() { try { resource res1 = allocate_resource(); try { resource res2 = allocate_resource(); do_something(res1, res2); } finally { deallocate_resource(res2); } } finally { deallocate_resource(res1); } } W niektórych językach (Lisp, Python >= 2.5) można definiować abstrakcje składniowe, pozwalające na napisanie tego samego zwięźlej: (with-resource res1 (with-resource res2 (do-something res1 res2)))
55 Wyjątki deklarowane W Javie lista wyjątków rzucanych przez metodę jest częścią sygnatury metody. Jeśli metoda próbuje rzucać inne wyjątki niż to deklaruje, to skutkuje to błędem kompilacji.
56 Wyjątki deklarowane W Javie lista wyjątków rzucanych przez metodę jest częścią sygnatury metody. Jeśli metoda próbuje rzucać inne wyjątki niż to deklaruje, to skutkuje to błędem kompilacji. Mechanizm ten nie stosuje się do wyjątków, których nadklasami są Error lub RuntimeException. Zalety
57 Wyjątki deklarowane W Javie lista wyjątków rzucanych przez metodę jest częścią sygnatury metody. Jeśli metoda próbuje rzucać inne wyjątki niż to deklaruje, to skutkuje to błędem kompilacji. Mechanizm ten nie stosuje się do wyjątków, których nadklasami są Error lub RuntimeException. Zalety Możliwe sytuacje błędne są częścią kontraktu funkcji
58 Wyjątki deklarowane W Javie lista wyjątków rzucanych przez metodę jest częścią sygnatury metody. Jeśli metoda próbuje rzucać inne wyjątki niż to deklaruje, to skutkuje to błędem kompilacji. Mechanizm ten nie stosuje się do wyjątków, których nadklasami są Error lub RuntimeException. Zalety Wady Możliwe sytuacje błędne są częścią kontraktu funkcji Znaczne ograniczenie w czasie kompilacji liczby wyjątków docierających do wierzchołka stosu
59 Wyjątki deklarowane W Javie lista wyjątków rzucanych przez metodę jest częścią sygnatury metody. Jeśli metoda próbuje rzucać inne wyjątki niż to deklaruje, to skutkuje to błędem kompilacji. Mechanizm ten nie stosuje się do wyjątków, których nadklasami są Error lub RuntimeException. Zalety Wady Możliwe sytuacje błędne są częścią kontraktu funkcji Znaczne ograniczenie w czasie kompilacji liczby wyjątków docierających do wierzchołka stosu Zwiększona dyscyplina kontroli wyjątków zachęca do jej obchodzenia nieprzemyślanymi blokami catch
60 Wady wyjątków
61 Wady wyjątków Jeśli wywołanie funkcji zakończy się rzuceniem wyjątku (odpowiadającego błędowi), to trudno naprawić to, co się stało, bez znajomości bebechów tej funkcji
62 Wady wyjątków Jeśli wywołanie funkcji zakończy się rzuceniem wyjątku (odpowiadającego błędowi), to trudno naprawić to, co się stało, bez znajomości bebechów tej funkcji Ale funkcje powinny być czarnymi skrzynkami nie powinno nas obchodzić, jak wywoływana przez nas funkcja wykonuje swoje zadanie
63 Wady wyjątków Jeśli wywołanie funkcji zakończy się rzuceniem wyjątku (odpowiadającego błędowi), to trudno naprawić to, co się stało, bez znajomości bebechów tej funkcji Ale funkcje powinny być czarnymi skrzynkami nie powinno nas obchodzić, jak wywoływana przez nas funkcja wykonuje swoje zadanie Sytuacja jeszcze się komplikuje, jeśli dany błąd może teoretycznie być obsłużony na wiele możliwych sposobów
64 Wady wyjątków Jeśli wywołanie funkcji zakończy się rzuceniem wyjątku (odpowiadającego błędowi), to trudno naprawić to, co się stało, bez znajomości bebechów tej funkcji Ale funkcje powinny być czarnymi skrzynkami nie powinno nas obchodzić, jak wywoływana przez nas funkcja wykonuje swoje zadanie Sytuacja jeszcze się komplikuje, jeśli dany błąd może teoretycznie być obsłużony na wiele możliwych sposobów W szczególności, jeśli np. skończyło się miejsce na dysku, to zamiast wyświetlenia komunikatu o błędzie może chcemy wywalić śmieci z /tmp i spróbować jeszcze raz?
65 Poza wyjątkami: sytuacje i restarty Przychodzi pracownik do szefa i mówi: jest taka sytuacja...
66 Poza wyjątkami: sytuacje i restarty Przychodzi pracownik do szefa i mówi: jest taka sytuacja... Wyobraźmy sobie, że mamy funkcję Szef(), która wywołuje funkcję Pracownik().
67 Poza wyjątkami: sytuacje i restarty Przychodzi pracownik do szefa i mówi: jest taka sytuacja... Wyobraźmy sobie, że mamy funkcję Szef(), która wywołuje funkcję Pracownik(). W modelu wyjątków: jeśli ta druga funkcja rzuci wyjątek NieZdazeException, to stos jest natychmiast zwijany i blok catch w funkcji Szef() musi ogarnąć sytuację.
68 Poza wyjątkami: sytuacje i restarty Przychodzi pracownik do szefa i mówi: jest taka sytuacja... Wyobraźmy sobie, że mamy funkcję Szef(), która wywołuje funkcję Pracownik(). W modelu wyjątków: jeśli ta druga funkcja rzuci wyjątek NieZdazeException, to stos jest natychmiast zwijany i blok catch w funkcji Szef() musi ogarnąć sytuację. Ale może funkcja Pracownik() byłaby w stanie coś zrobić, gdyby Szef() powiedział, jaką strategię wyjścia należy obrać (np. na podstawie priorytetu zadania)?
69 Poza wyjątkami: sytuacje i restarty Przychodzi pracownik do szefa i mówi: jest taka sytuacja... Wyobraźmy sobie, że mamy funkcję Szef(), która wywołuje funkcję Pracownik(). W modelu wyjątków: jeśli ta druga funkcja rzuci wyjątek NieZdazeException, to stos jest natychmiast zwijany i blok catch w funkcji Szef() musi ogarnąć sytuację. Ale może funkcja Pracownik() byłaby w stanie coś zrobić, gdyby Szef() powiedział, jaką strategię wyjścia należy obrać (np. na podstawie priorytetu zadania)? Na tym opiera się mechanizm sytuacji (conditions): oddzielamy politykę (co zrobić?) od obsługi (jak to zrobić?)
70 Pseudokod: szef void Szef() { while (task = GetNextTask()) { try { Pracownik(task, task.duedate()); } catch (NieZdaze cond) { if (case.priority == critical) restart cond, zostanpogodzinach; else restart cond, fajrant; } } }
71 Pseudokod: pracownik void Pracownik(Task task, DateTime duedate) { try { do { perform(task); if (duedate - currentdate() < complexity * (1 - progress(task))) throw NieZdaze; } while (more()); } restart (zostanpogodzinach) { do { bluzg(); perform(task); } while (more()); } restart (fajrant) { } }
72 Dziękuję za uwagę!
Obsł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
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....................................................................................
Programowanie 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)
Wyjątki. Wyjątki. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Politechnika Wrocławska
Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2018 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki W językach niskopoziomowych błędy zgłaszane były przez zwracanie odpowiedniego statusu (liczby) W C main() zwraca int żeby można było określić
Wyją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
Konwencje 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
Wykł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
WYJĄ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
Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom).
Zarządzanie pamięcią Pamięć: stos i sterta Statyczny i dynamiczny przydział pamięci Funkcje ANSI C do zarządzania pamięcią Przykłady: Dynamiczna tablica jednowymiarowa Dynamiczna tablica dwuwymiarowa 154
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
Wyją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.
Aplikacje 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
Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.
Wyjątki Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wydaje się, że żaden użytkownik oprogramowania nie lubi, kiedy stosowany program nagle zawiesza się,
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
Zaawansowane programowanie w języku C++ Wyjątki
Zaawansowane programowanie w języku C++ Wyjątki Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń
Ję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,
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
Programowanie w języku C++
Programowanie w języku C++ Część szósta Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi uważnego
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,
Throwable. 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
Efekty uboczne błędów
Obsługa wyjątków Efekty uboczne błędów Fragment kodu programu jest bezpieczny (ang. exception-safe) jeżeli błędy, które wystąpią w trakcie przetwarzania tego kodu nie będą powodowały niepożądanych efektów
Obsł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
DYNAMICZNE PRZYDZIELANIE PAMIECI
DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne
Java 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ć
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
Delphi Laboratorium 3
Delphi Laboratorium 3 1. Procedury i funkcje Funkcja jest to wydzielony blok kodu, który wykonuje określoną czynność i zwraca wynik. Procedura jest to wydzielony blok kodu, który wykonuje określoną czynność,
Programowanie w języku C++
Programowanie w języku C++ Część siódma Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi
Programowanie 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
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,
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
Dawid 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{
Java 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
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
PARADYGMATY PROGRAMOWANIA Wykład 4
PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej
Obliczenia równoległe i rozproszone w JAVIE. Michał Kozłowski 30 listopada 2003
Obliczenia równoległe i rozproszone w JAVIE Michał Kozłowski 30 listopada 2003 Wątki w JAVIE Reprezentacja wątków jako obiektów Uruchamianie i zatrzymywanie wątków Realizacja wątków Ograniczenia Mechanizmy
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
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
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
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
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
Tablice, funkcje - wprowadzenie
Tablice, funkcje - wprowadzenie Przemysław Gawroński D-10, p. 234 Wykład 5 25 marca 2019 (Wykład 5) Tablice, funkcje - wprowadzenie 25 marca 2019 1 / 12 Outline 1 Tablice jednowymiarowe 2 Funkcje (Wykład
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;
Obsługa wyjątków. Rysunek 2-4 Hierarchia dziedziczenia klas wyjątków
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
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Podstawy programowania komputerów
Podstawy programowania komputerów Wykład 10: Sterowanie pamięcią w C Pamięć na stosie!każdy program napisany w języku C ma dostęp do dwóch obszarów pamięci - stosu i sterty, w których może być przechowywana
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
Materiały do zajęć III
Materiały do zajęć III Instrukcja wyboru if Spis treści I. Instrukcja wyboru if II. Wybór wielowariantowy III. Czy liczba podana przez użytkownika jest parzysta? IV. Wyjątki V. Instrukcje iteracji pętle
Dariusz 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
DECLARE VARIABLE zmienna1 typ danych; BEGIN
Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;
Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016
Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal
Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych
Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych mluckner@mini.pw.edu.pl http://www.mini.pw.edu.pl/~lucknerm Programy w Javie składają się z pakietów Pakiety zawierają definicje
Podstawy 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
Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 4 Wyjątki PL/SQL Mechanizmy dotyczące błędów Typy wyjątków Obsługa wyjątków PL/SQL Obsługa błędów predefiniowanych, użytkownika
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
Klasy cd. Struktury Interfejsy Wyjątki
Klasy cd. Struktury Interfejsy Wyjątki Struktury Struktura pozwala na zdefiniowanie typu danych, który nie charakteryzuje się zbyt złożoną funkcjonalnością (np. punkt, kolor, etc). Do definiowania struktury
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
Zaawansowane programowanie w języku C++ Klasy w C++
Zaawansowane programowanie w języku C++ Klasy w C++ Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń
PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec
PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych
Działanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania
Składnia C++ Programowanie Obiektowe, część 3 Mateusz Cicheński
Składnia C++ Programowanie Obiektowe, część 3 Mateusz Cicheński Rzutowanie Implicit/explicit cast Reinterpret cast Static cast Z wykorzystaniem Run-time Type Information Obsługa wyjątków Czym jest wyjątek
W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :
Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;
Klasy abstrakcyjne, interfejsy i polimorfizm
Programowanie obiektowe 12 kwietnia 2011 Organizacyjne Klasówka będzie 20 IV 2011. Sale jeszcze są pertraktowane. Materiał do wyjątków włącznie. Można mieć swoje materiały nieelektroniczne. Wywołanie z
Działanie systemu operacyjnego
Działanie systemu operacyjnego Budowa systemu komputerowego Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej Pamięć
Programowanie 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
Aplikacje 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
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
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
Gdzie jest moja tabela?
Gdzie jest moja tabela? Czyli jak sobie radzić w Javie i SQL gdy zmienia się schemat bazy danych. Tomasz Skutnik 21 Listopada 2011 r UWIELBIAM piratów programować. Dziś koduję sklep internetowy. Jak rozmawiać
LABARATORIUM 9 TESTY JEDNOSTKOWE JUNIT 3.8
Inżynieria Oprogramowania 2013/14 LABARATORIUM 9 TESTY JEDNOSTKOWE JUNIT 3.8 Hierarchia klas: TestCase klasa testująca, będąca klasą bazową dla wszystkich przypadków testowych. Zawiera przypadki testowe
Wykł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
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,
Zad.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
Programowanie w C++ Wykład 8. Katarzyna Grzelak. 7 maja K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31
Programowanie w C++ Wykład 8 Katarzyna Grzelak 7 maja 2018 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31 STL - powtórzenie STL Standard Template Libarary standardowa biblioteka szablonów Składowe biblioteki:
Szablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
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,
C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy PRAWA PRZYJACIÓŁ KLASY. Dostęp z zewnątrz: Dostęp z wewnątrz:
Prawa dostępu do składowych klasy PRAWA PRZYJACIÓŁ KLASY 91 Dostęp z zewnątrz: double limit; ; water_temp T; T.limit = 100; Dostęp z wewnątrz: double set_temp(double nt) { if (nt0) ; water_temp
Działanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej sieci Pamięć operacyjna Przerwania Przerwania Przerwanie
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Celem ćwiczenia jest zapoznanie studentów z najprostszą dynamiczną strukturą
Paradygmaty programowania
Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część ósma Zmienne wskaźnikowe koncepcja, podstawowe zastosowania Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski
Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka
Sesje, ciasteczka, wyjątki Nie sposób wyobrazić sobie bez nich takich podstawowych zastosowań, jak logowanie użytkowników czy funkcjonowanie koszyka na zakupy. Oprócz tego dowiesz się, czym są wyjątki,
Klasyfikacja wyjątków
Obsługa wyjątków Klasyfikacja wyjątków Błędy w eksploatacji programów np. błędy użytkowników. Niedostępność zasobów żądanie przydziału zasobów nie może być zrealizowane np. w wyniku braku dostępnej pamięci
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
Czym są właściwości. Poprawne projektowanie klas
Z akcesorów get i set korzysta każdy kto programuje w C#. Stanowią one duże udogodnienie w programowaniu obiektowym. Zapewniają wygodę, bezpieczeństwo i znacząco skracają kod. Akcesory są ściśle związane
Programowanie poprzez testy z wykorzystaniem JUnit
Programowanie poprzez testy z wykorzystaniem JUnit Programowanie ekstremalne (XP) XP zaproponowano w 1999 (K. Beck: Extreme Programming Explained ) XP dedykowane jest do projektów: O małym lub średnim
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
Wywoływanie metod zdalnych
Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia
Wstęp do Programowania, laboratorium 02
Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite
Programowanie obiektowe
Programowanie obiektowe Podstawowe cechy i możliwości języka Scala mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 2017 1 / 32 mgr inż. Krzysztof Szwarc Programowanie obiektowe Informacje
Programowanie w C++ Wykład 6. Katarzyna Grzelak. kwiecień K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40
Programowanie w C++ Wykład 6 Katarzyna Grzelak kwiecień 2019 K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40 STL - powtórzenie STL Standard Template Libarary standardowa biblioteka szablonów Składowe biblioteki:
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
Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.
Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji
Java EE produkcja oprogramowania
Java EE produkcja oprogramowania PPJ PODSTAWY PROGRAMOWANIA W JAVIE PODSTAWY JĘZYKA JAVA 1 Warszawa, 2016Z 2 Ogólna charakterystyka języka Java 3 Java 1/2 Język programowania Java został opracowany przez
Struktury. Przykład W8_1
Struktury Struktury pozwalają na grupowanie zmiennych różnych typów pod wspólną nazwą. To istotnie ułatwia organizacje danych, które okazują się w jednym miejscu kodu programu. To jest bardzo ważne dla
KUP KSIĄŻKĘ NA: PRZYKŁADOWY ROZDZIAŁ KOMUNIKATY DLA UŻYTKOWNIKA
KUP KSIĄŻKĘ NA: WWW.PRAKTYCZNEPHP.PL PRZYKŁADOWY ROZDZIAŁ KOMUNIKATY DLA UŻYTKOWNIKA KOMUNIKATY DLA UŻYTKOWNIKA W większości aplikacji potrzebujesz mieć możliwość powiadomienia użytkownika o rezultacie
Wstęp do Programowania 2
Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 5 W programowaniu obiektowym programista koncentruje się na obiektach. Zadaje sobie pytania typu:
Co jeszcze mogą nam dać adnotacje? Adam Warski
Co jeszcze mogą nam dać adnotacje? Adam Warski Weryfikacja statyczna Sprawdzanie własności programu bez jego uruchomienia Weryfikacja statyczna Najprostszy przykład: Sprawdzanie typów Przy wywołaniu metody
Procedury składowane. Funkcje vs. procedury Funkcja. Procedura. zazwyczaj ma parametry tylko typu IN; można wywoływać z poziomu
Procedury składowane Kolejnym typem programu języka PL/SQL są procedury składowane. Procedury mogą posiadać parametry typu IN, OUT lub IN OUT. Umożliwiają wykonanie operacji na danych w bazie, mogą też