Zad. 2 kolekcje i typy uogólnione
a. Utwórz kolekcję ArrayList, wstaw do niej kilka obiektów poniżej zdefiniowanej klasy, i policz sumę wszystkich półek wszystkich regałów kolekcji.
public class Regał{
private int ilePółek;
public Regał(int ilePółek){
this.ilePółek = ilePółek;
}
public int ilePółek(){
return ilePółek;
}
}
b. Co trzeba dopisać, by móc przechowywać regały w kolekcji HashSet?
Zad. 3 dziedziczenie
a. Czy konstruktory są dziedziczone tak jak zwykłe metody?
b. Zdefiniuj klasy zgodnie z podaną niżej strukturą.
Osoba |
|
Kursywą oznaczono klasę abstrakcyjną - pola prywatne # konstruktor chroniony + konstruktory i metody publiczne |
- String nazwisko |
|
|
# Osoba(String nazwisko) + String nazwisko() |
|
|
Pracownik |
|
Klient |
- String stanowisko |
|
- boolean obsłużony |
+ Pracownik( |
|
+ Klient(String nazwisko) + void obsłuż() |
Zad. 4 wyjątki i strumienie
a. Czym charakteryzuje się dekorator? Które z użytych niżej klas pełnią funkcję dekoratora?
PrintWriter pr = new PrintWriter(
new BufferedWriter(
new FileWriter("plik.txt"))));
b. Oto fragment dokumentacji klasy Pudełko. Napisz program, który tworzy 2 obiekty tej klasy, próbuje je ze sobą skleić, przechwytując ewentualne wyjątki.
public Pudełko(int wys, int szer, int dl)
Tworzy pudełko o podanej wysokości, szerokości i długości.
public Pudełko sklej(Pudełko p) throws NiesklejalnePudełka
Zwraca nowe pudełko będące sklejeniem bieżącego z pudełkiem podanym w argumencie. Wyrzuca wyjątek, jeśli pudełka mają niewłaściwe rozmiary.
Twój program:
Programowanie
Egzamin
26.06.2008
A
Imię i nazwisko Specjalność Indeks
Ocena (ilość punktów) z laboratorium:
Zad. 1 |
Zad. 2 |
Zad. 3 |
Zad. 4 |
Suma |
||||
|
|
|
|
|
|
|
|
|
Zad. 1 tablice
a. Napisz funkcję, które dostaje tablicę wypełnioną danymi. Funkcja tworzy nową tablicę o rozmiarze większym o 10 od tej z argumentu, przepisuje zawartość starej do nowej i zwraca tę nową tablicę.
static int[] powiększ(int[] tab){
b. Utwórz tablicę regałów (obiektów klasy z zadania 2) i wstaw do niej kilka obiektów.