lab4 ZA






Laboratorium 4







Relacje między obiektami... czyli obiektowa korupcja

"Obiekt A poinformował obiekt B, że
obiekt C dziedziczy wszystko po obiekcie D.
Ten ostatni nie wiedział, że składa się
z kilku obiektów E, które są podobne do
obiektów F. Zastanawiano się w mieście, kto jest czyją
generalizacją..."
/podała Obiektowo Zorientowana Obiektywna TAI/




Czytanie: punkty 2.1--2.5
  P:\FTP(Public)\kb\WPR\WYKLADY\W2\\w2.htm





  Zadanie 0.A (konstruktory)
Zdefiniuj klasy Utwor, UtworCD i UtworMP3, których obiekty będą imitowały utwory muzyczne przechowywane na różnych nośnikach. Wykorzystaj poniższy kod testujący.




kod programu
wynik działania programu




Utwor u1=new Utwor("Calypso blues","Natalie Cole",4,59),
u2=new Utwor("bede z toba","Katarzyna Groniec",4,8);


System.out.println(u1);







System.out.println(u2);
//------------------------------------------------- po checkpoint-1





UtworCD u3=new UtworCD("SYSTEM","Amazing","Seal",2,3,45);

System.out.println(u3);
//------------------------------------------------- po checkpoint-2








UtworMP3 u4=new UtworMP3("Frank Sinatra","Day by Day","frank.mp3",2.85,3,9);
System.out.println(u4);
//------------------------------------------------- po checkpoint-3








-/-
---------------------------------
tytul: Calypso blues
wykonawca: Natalie Cole
czas trwania: 04:59
---------------------------------


-/-
---------------------------------
tytul: bede z toba
wykonawca: Katarzyna Groniec
czas trwania: 04:08
---------------------------------



CD
---------------------------------
nazwa plyty: SYSTEM
nr sciezki: 2
---------------------------------
tytul: Amazing
wykonawca: Seal
czas trwania: 03:45
---------------------------------


MP3
---------------------------------
nazwa pliku: frank.mp3
rozmiar: 2.85 MB
---------------------------------
tytul: Frank Sinatra
wykonawca: Day by Day
czas trwania: 03:09
---------------------------------











  Zadanie 0.B (dziedziczenie)
Zmodyfikuj klasy Utwor, UtworCD i UtworMP3 tak, aby możliwe było wykonanie poniższego kodu testowego.




kod programu
wynik działania programu




Utwor tab[]={new Utwor("Calypso blues","Natalie Cole",4,59),
new UtworCD("SYSTEM","Amazing","Seal",2,3,45),
new UtworMP3("Frank Sinatra","Day by Day","frank.mp3",2.85,3,9),
new Utwor("bede z toba","Katarzyna Groniec",4,8),

};


for(int i=0;i < tab.length;i++)
System.out.println(tab[i]);












-/-
---------------------------------
tytul: Calypso blues
wykonawca: Natalie Cole
czas trwania: 04:59
---------------------------------



CD
---------------------------------
nazwa plyty: SYSTEM
nr sciezki: 2
---------------------------------
tytul: Amazing
wykonawca: Seal
czas trwania: 03:45
---------------------------------


MP3
---------------------------------
nazwa pliku: frank.mp3
rozmiar: 2.85 MB
---------------------------------
tytul: Frank Sinatra
wykonawca: Day by Day
czas trwania: 03:09
---------------------------------


-/-
---------------------------------
tytul: bede z toba
wykonawca: Katarzyna Groniec
czas trwania: 04:08
---------------------------------









  Zadanie 1 (dziedziczenie, konstruktory)
Zdefiniuj klasy Pies i RasowyPies tak, aby początkujący programista-weterynarz mógł przechowywać w obiektach tych klas podstawowe informacje o swoich pacjentach. Poniżej przedstawiono kod testujący.





kod programu
wynik działania programu




Pies sfora[]={new Pies(76589,"As","biało-czarny",18,
"Anna","Nowak"),
new RasowyPies(45321,"Labrador","Elf","czarny",25,
"Agus","Mati","Barbara","Klopotek"),
new Pies(102467,"Kumpel","brazowy, podpalany",89,
"Zennon","Kula"),
new RasowyPies(9678,"York","Beta","brazowy",8,
"Emka","Fidelus","Alicja","Kot")};

for(int i=0; i < sfora.length; i++)
System.out.println(sfora[i]+"\n\n");














-------------------------------
identyfikator: 00076589
WLASCICIEL: Anna Nowak

IMIE: AS
masc: biało-czarny
wiek: 1 rok i 6 miesiecy
-------------------------------


-------------------------------
identyfikator: 00045321
WLASCICIEL: Barbara Klopotek

IMIE: ELF
masc: czarny
wiek: 2 lata(a) i 1 miesiac
-------------------------------
Pies rasowy
-------------------------------
RASA: Labrador
MATKA: Agus
OJCIEC: Mati
MIOT: 5
-------------------------------


-------------------------------
identyfikator: 00102467
WLASCICIEL: Zennon Kula

IMIE: KUMPEL
masc: brazowy, podpalany
wiek: 7 lat(a) i 5 miesiecy
-------------------------------


-------------------------------
identyfikator: 00009678
WLASCICIEL: Alicja Kot

IMIE: BETA
masc: brazowy
wiek: 8 miesiecy
-------------------------------
Pies rasowy
-------------------------------
RASA: York
MATKA: Emka
OJCIEC: Fidelus
MIOT: 2
-------------------------------







  Zadanie 2 (dziedziczenie, konstruktory)
Zmodyfikuj klasy Pies i RasowyPies tak, aby ten sam kod testowy zadziałał ciut inaczej.





kod programu
wynik działania programu




Pies sfora[]={new Pies(76589,"As","biało-czarny",18,
"Anna","Nowak"),
new RasowyPies(45321,"Labrador","Elf","czarny",25,
"Agus","Mati","Barbara","Klopotek"),
new Pies(102467,"Kumpel","brazowy, podpalany",89,
"Zennon","Kula"),
new RasowyPies(9678,"York","Beta","brazowy",8,
"Emka","Fidelus","Alicja","Kot")};

for(int i=0; i < sfora.length; i++)
System.out.println(sfora[i]+"\n\n");














-------------------------------
Pies wielorasowy
-------------------------------
identyfikator: 00076589
WLASCICIEL: Anna Nowak

IMIE: AS
masc: biało-czarny
wiek: 1 rok i 6 miesiecy
-------------------------------


-------------------------------
Pies rasowy
-------------------------------
identyfikator: 00045321
WLASCICIEL: Barbara Klopotek

IMIE: ELF
masc: czarny
wiek: 2 lata(a) i 1 miesiac
-------------------------------
RASA: Labrador
MATKA: Agus
OJCIEC: Mati
MIOT: 5
-------------------------------


-------------------------------
Pies wielorasowy
-------------------------------
identyfikator: 00102467
WLASCICIEL: Zennon Kula

IMIE: KUMPEL
masc: brazowy, podpalany
wiek: 7 lat(a) i 5 miesiecy
-------------------------------


-------------------------------
Pies rasowy
-------------------------------
identyfikator: 00009678
WLASCICIEL: Alicja Kot

IMIE: BETA
masc: brazowy
wiek: 8 miesiecy
-------------------------------
RASA: York
MATKA: Emka
OJCIEC: Fidelus
MIOT: 2
-------------------------------











  Zadanie 3 (dziedziczonko dla treningu...)

Wykorzystując mechanizm dziedziczenia zdefiniuj niezbędne klasy opisujące bilety
"różnej
maści". Zaprojektuj klasy w taki sposób, aby z jednej strony, w każdej z nich ograniczyć
do minimum liczbę atrybutów (pól), z drugiej zaś, aby
możliwe było wykonanie poniższego kodu testującego.




kod programu
wynik działania programu




Bilet sumaNieszczesc[]=
{ new BiletZTM(),
new BiletZTM(10,1,2005,"tramwaj nr 7"),
new BiletNaKoncert("Peter Gabriel",
"Poznan",30,4,2002),
new BiletNaKoncert("Mark Knopfler",
"Warszawa",7,5,2010),
new BiletLotniczy("WAW","EDI",1,2,2006,
"EDI","WAW",22,7,2007),
new BiletLotniczy("WAW","EDI",4,1,2007,
"EDI","WAW"),
new BiletLotniczy("WAW","EDI",3,12,2007,
"EDI","WAW")
};

for(int i=0;i EDI 01.02.2007 X
EDI -> WAW 22.07.2008

6. bilet lotniczy: otwarty
wykorzystany w jedna strone
WAW -> EDI 04.01.2008 X
EDI -> WAW

7. bilet lotniczy: otwarty, niewykorzystany
WAW -> EDI 03.12.2008
EDI -> WAW








  Zadanie 4 ...podsumowując (2 punkty)
Hipotetyczna karta egzaminacyjna

"Każdy student co semestr otrzymuje kartę
egzaminacyjną. Na karcie egzaminacyjnej znajduje się imię i nazwisko studenta,
semestr na którym znajduje się student, numer albumu i przedmioty do zaliczenia
(liczba przedmiotów do zaliczenia). W przypadku studentów studiujących na
drugim, trzecim, czwartym i piątym roku na karcie egzaminacyjnej znajduje się
dodatkowo symbol specjalności, wybranej przez studenta. Studenci czwartego
i piątego roku mają na karcie umieszczone nazwisko promotora pracy dyplomowej.
Student drugiego roku ma możliwość
wyboru specjalności, nie ma jednak prawa jej zmieniać, od chwili, gdy znajdzie
się na szóstym semestrze. Student czwartego roku wybiera promotora i temat
realizowanej pracy dyplomowej."






kod programu
wynik działania programu




Karta karty[]={new Karta("Adam",...),
new Karta23("Anna",...),
new Karta45("Tomasz",...)};

Karta.setStamp("*** PJWSTK ***");
for(int i=0; i < karty.length; i++)
System.out.print(karty[i]);


























karty[0].setSurname("Nowak");
for(int i=1; i < karty.length; i++)
karty[i].printCard();



karty[1].setSurname("Janiak");



karty[2].passed(6,4);




Karta.setStamp("------> PJWSTK");

for(int i=0; i < karty.length; i++)
System.out.print(karty[i]);










*** PJWSTK ***
IMIE i NAZWISKO: Adam Kowalski
SEMESTR: 1
GRUPA: 101
-------------------------------
KARTA WIRTUALNA
-------------------------------

*** PJWSTK ***
IMIE i NAZWISKO: Anna Malinowska
SEMESTR: 4
GRUPA: 421
SPECJALNOSC: BD
-------------------------------
KARTA WIRTUALNA
-------------------------------

*** PJWSTK ***
IMIE i NAZWISKO: Tomasz Król
SEMESTR: 8
GRUPA: 823
SPECJALNOSC: 3D
PROMOTOR: dr hab. XX
-------------------------------
KARTA WIRTUALNA
-------------------------------



Drukowanie karty... --> Anna Malinowska
Drukowanie karty... --> Tomasz Król


ERR: Karta jest wydrukowana,
nie mogę zmienić danych osobowych


KARTA: Tomasz Król
Zaliczono: 6 przedmiotów
Na ocenę: 4





------> PJWSTK
IMIE i NAZWISKO: Adam Nowak
SEMESTR: 1
GRUPA: 101
-------------------------------
KARTA WIRTUALNA
-------------------------------


*** PJWSTK ***
IMIE i NAZWISKO: Anna Malinowska
SEMESTR: 4
GRUPA: 421
SPECJALNOSC: BD
-------------------------------
KARTA WYDRUKOWANA
-------------------------------
LICZBA PRZEDMIOTOW
DO ZALICZENIA: 4
-------------------------------


*** PJWSTK ***
IMIE i NAZWISKO: Tomasz Król
SEMESTR: 8
GRUPA: 823
SPECJALNOSC: 3D
PROMOTOR: dr hab. XX
-------------------------------
KARTA WYDRUKOWANA
-------------------------------
LICZBA PRZEDMIOTOW
DO ZALICZENIA: 10

W TYM OCEN:
DOBRYCH: 6
-------------------------------










Wyszukiwarka

Podobne podstrony:
Fs 1 (tusługa za transport)
Rozwiązanie umowy o pracę za wypowiedzeniem
Za opóźnienia w budowie Stadionu Narodowego – podwyżki o prawie 300 , trzynastki i wysokie premie
2009 03 BP KGP Niebieska karta sprawozdanie za 2008rid&657
ks W Zaborski, Pojęcia religijne Persów za Achemenidów [w] PP nr 27, 174
lab13 ZA
para za para
654 Podział zysku i pokrycie straty za 2009
Prezydent Autonomii Palestyńskiej Nie uznam Izraela za państwo żydowskie (27 04 2009)
Wykonywanie przedmiotów za pomocą obróbki ręcznej skrawaniem(1)

więcej podobnych podstron