Zad.30. Czy można utworzyć klasę, która implementuje oba interfejsy?

Podobne dokumenty
Wyjątki Monika Wrzosek (IM UG) Programowanie obiektowe 180 / 196

Obsługa błędów za pomocą wyjątków. Paweł Motofa (140746)

Java SE Laboratorium nr 4. Temat: Obsługa wyjątków i zdarzeń

Wykład 8: Obsługa Wyjątków

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

Programowanie obiektowe

Aplikacje w środowisku Java

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

Wprowadzanie danych z klawiatury. Wyjątki związane z wprowadzaniem danych, przekroczeniem rozmiaru tablicy, dzieleniem przez zero itd.

Dawid Gierszewski Adam Hanasko

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

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

Java podstawy jęyka. Wykład 2. Klasy abstrakcyjne, Interfejsy, Klasy wewnętrzne, Anonimowe klasy wewnętrzne.

Programowanie Obiektowe Ćwiczenie 4

Podstawy obiektowości

Platforma.NET. Laboratorium nr 1 Podstawy języka C#

WYJĄTKI. Jest ona jednak czasochłonna i prowadzi do duŝego zapotrzebowania na zasoby systemu.

Throwable. Wyjatek_1(int x_) { x = x_; } int podaj_x()

Platformy Programistyczne Wykład z Javy dla zaawansowanych

Wyjątki (exceptions)

Klasy cd. Struktury Interfejsy Wyjątki

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

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

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

Język C++ wykład VIII

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

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Podstawy i języki programowania

Programowanie obiektowe - zadania

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Systemy Rozproszone - Ćwiczenie 6

Zaawansowane programowanie w języku C++ Wyjątki

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

Aplikacje w środowisku Java

Programowanie obiektowe

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Multimedia JAVA. Historia

ATD. Wykład 8. Programowanie (język C++) abstrakcyjny typ danych. Abstrakcyjne typy danych (ATD) Metody czysto wirtualne. Definicje i uwagi:

Wyjątki. Wyjątki. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Typy sparametryzowane

Wykład 04. Programowanie obiektowe. Maciej Wołoszyn 17 marca Spis treści

Konwencje obsługi błędów

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Metody Metody, parametry, zwracanie wartości

Aplikacje internetowe i rozproszone - laboratorium

Programowanie obiektowe

Materiały do zajęć III

Projektowanie aplikacji internetowych laboratorium

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

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

Programowanie w Internecie. Java

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

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

Dziedziczenie Dana jest klasa Punkt w pliku o nazwie Punkt.java:

Dziedziczenie. Tomasz Borzyszkowski

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

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

Programowanie obiektowe

Platformy Programistyczne Podstawy języka Java

Programowanie 3 - Funkcje, pliki i klasy

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

Języki i techniki programowania Ćwiczenia 3 Dziedziczenie

Efekty uboczne błędów

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

Programowanie obiektowe

Programowanie obiektowe

Podstawy i języki programowania

Programowanie w języku Java

TEMAT : KLASY DZIEDZICZENIE

1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();

Polimorfizm. dr Jarosław Skaruz

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

PWSG Ćwiczenia 12. Wszystkie ukończone zadania należy wysłać na adres: lub

Java SE Laboratorium nr 5. Temat: Obsługa zdarzeń

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

Mechanizm dziedziczenia

Wykład 5 Okna MDI i SDI, dziedziczenie

Ćwiczenie 1. Przygotowanie środowiska JAVA

DYNAMICZNE PRZYDZIELANIE PAMIECI

Języki programowania imperatywnego

dr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1

Zadania z podstaw programowania obiektowego

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Enkapsulacja, dziedziczenie, polimorfizm

> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki

Języki i metodyka programowania. Język C# pętle, sterowanie, wyjątki

PARADYGMATY PROGRAMOWANIA Wykład 4

1. Język JAVA. 1. Pierwszy program. 2. Kalkulator. 3. Klasy. 4. Dziedziczenie

Obsługa wyjątków. Język C++ WW12

Diagramy klas. dr Jarosław Skaruz

Interfejsy i klasy wewnętrzne

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

Java: interfejsy i klasy wewnętrzne

Klasy abstrakcyjne, interfejsy i polimorfizm

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

Języki i techniki programowania Ćwiczenia 2

Aplikacje w środowisku Java

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

Java Platform Micro Edition

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

Transkrypt:

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 void pisz ( f l o a t liczba ); Zad.30. Czy można utworzyć klasę, która implementuje oba interfejsy? public void pisz ( ) ; public int pisz (); 29 / 34

Zad.31. Utwórz klasę, która implementuje interfejs C: public void f ( ) ; public void g ( ) ; p u b l i c i n t e r f a c e C extends A, B { public void h ( ) ; Zad.32. Oceń poprawność dziedziczenia interfejsów public int f (); public float f (); p u b l i c i n t e r f a c e C extends A, B { public void h ( ) ; 30 / 34

Wyjątki Otwórz stronę https://docs.oracle.com/javase/8/docs/api/index.html. Znajdź pakiet java.lang. i zapoznaj się z różnymi wyjątkami w Exception Summary. Zad.33. Popraw poniższy kod, przechwytując pojawiający się tam wyjątek i wypisując odpowiedni komunikat. public class Tablica { i n t t a b [ ] = new i n t [ 1 0 ] ; tab [ 1 0 ] = 5; System. o u t. p r i n t l n ( " D z i e s i a t y e l e m e n t t a b l i c y ma w a r t o s c : " + t a b [ 1 0 ] ) ; public class Tablica2 { p r i v a t e i n t [ ] t a b l i c a = new i n t [ 1 0 ] ; public int pobierzelement ( int indeks ) { return tablica [ indeks ] ; p u b l i c void ustawelement ( i n t indeks, i n t wartosc ) { t a b l i c a [ indeks ] = wartosc ; p u b l i c c l a s s Main { T a b l i c a 2 t a b l i c a = new T a b l i c a 2 ( ) ; t a b l i c a. ustawelement ( 5, 1 0 ) ; int l i c z b a = t a b l i c a. pobierzelement (10); System. o u t. p r i n t l n ( l i c z b a ) ; 31 / 34

Zad.34. Spróbuj skompilować poniższy program. Zaobserwuj komunikat kompilatora i popraw kod. public class Hierarchia { try { i n t l i c z b a = 10/0; catch ( RuntimeException blad ) { System. o u t. p r i n t l n ( " W y s t a p i l b l a d : " + b l a d ) ; catch ( ArithmeticException blad ) { System. o u t. p r i n t l n ( " W y s t a p i l b l a d : " + b l a d ) ; 32 / 34

Zad.35. Skompiluj poniższy program. Zmodyfikuj kod w taki sposób, aby zgłoszone zostały oba typy błędów: ArithmeticException oraz NullPointerException. p u b l i c c l a s s Punkt { int x, y ; p u b l i c c l a s s DwaWyjatki { Punkt p u n k t = n u l l ; int liczba = 0; try { l i c z b a = 10/0; punkt. x = l i c z b a ; catch ( ArithmeticException blad ) { System. o u t. p r i n t l n ( " N i e p r a w i d l o w a o p e r a c j a a r y t m e t y c z n a " ) ; System. o u t. p r i n t l n ( b l a d ) ; catch ( RuntimeException blad ) { System. o u t. p r i n t l n ( " B l a d o g o l n y " ) ; System. o u t. p r i n t l n ( b l a d ) ; 33 / 34

Zad.36. Utwórz klasę z metodą main, która zgłasza obiekt klasy Exception wewnątrz bloku try. Przekaż parametr tekstowy konstruktorowi Exception. Przechwyć wyjątek wewnątrz sekcji catch i za pomocą metody getmessage() wypisz przekazany tekst. Zad.37. Utwórz własną klasę wyjątków. Napisz dla tej klasy konstruktor przyjmujący parametr typu String i zapamiętujący ten parametr wewnątrz obiektu. Napisz metodę wyświetlającą ten łańcuch. Utwórz blok try-catch i wypróbuj ten wyjątek. Zad.38. Napisz klasę z metodą, która zgłasza wyjątek stworzony w poprzednim zadaniu. Spróbuj ją skompilować bez specyfikacji wyjątku. Zaobserwuj komunikaty kompilatora. Dodaj odpowiednią specyfikację wyjątku. Wypróbuj swoją klasę i jej wyjątki wewnątrz bloku try-catch. Zad.39. Napisz klasę wyjątku o nazwie Ujemna oraz klasę Pierwiastek, która będzie z niego korzystać. W klasie Piewiastek napisz metodę oblicz(), która generuje losowo dwie liczby i oblicza pierwiastek z ich różnicy. W przypadku, gdyby wynik odejmowania był ujemny, powinien zostać zgłoszony wyjątek Ujemna. Przetestuj działanie metody w main. 34 / 34