PO Serializacja - ćwiczenia: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
|||
Linia 3: | Linia 3: | ||
{{rozwiazanie| ||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none"> | {{rozwiazanie| ||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none"> | ||
'''import''' java.io.*; | '''import''' java.io.*; | ||
Linia 81: | Linia 80: | ||
Osoba@ad3ba4(Kotek, Zygmunt, Adres@126b249(Warszawa, Alternatywy, 4, 9), Adres@126b249(Warszawa, Alternatywy, 4, 9)) | Osoba@ad3ba4(Kotek, Zygmunt, Adres@126b249(Warszawa, Alternatywy, 4, 9), Adres@126b249(Warszawa, Alternatywy, 4, 9)) | ||
Osoba@bf2d5e(Kotek, Zygmunt, Adres@13bad12(Warszawa, Alternatywy, 4, 9), Adres@13bad12(Warszawa, Alternatywy, 4, 9)) | Osoba@bf2d5e(Kotek, Zygmunt, Adres@13bad12(Warszawa, Alternatywy, 4, 9), Adres@13bad12(Warszawa, Alternatywy, 4, 9)) | ||
</div> | |||
</div>}} | </div>}} | ||
Wersja z 22:19, 11 wrz 2006
Zadanie 1
Rozszerz klasę Osoba, aby posiadała dwa adresy – adres zameldowania i adres zamieszkania. W klasie SerializacjTest ustaw Zygmuntowi Kotkowi oba rodzaje adresów na alternatywy4. Sprawdź, że po deserializacji oba adresy są nadal jednym obiektem.
Rozwiązanie
{{{3}}}
Zadanie 2
Używając podanej poniżej klasy ElementListy przygotuj trzyelementowy cykl i zserializuj go do pliku, a następnie zdeserializuj. Sprawdź, czy rzeczywiście jeżeli przed serializacją jakiś obiekt był przypisany na kilka różnych referencji, po deserializacji nadal będzie na te referencje przypisany jeden obiekt.
class ElementListy implements Serializable { String wartość; ElementListy następny, poprzedni; ElementListy(String wartość) { this.wartość = wartość; System.out.println("wywołanie konstruktora klasy ElementListy"); } protected String memAddress() { String adrPamięć = super.toString(); return adrPamięć.substring(adrPamięć.indexOf('@')); } public String toString() { String adrPamięć = super.toString(); return adrPamięć+"(" + wartość + ", " + następny.memAddress() + ", " + poprzedni.memAddress() + ")"; } public ElementListy getNastępny() { return następny; } public ElementListy getPoprzedni() { return poprzedni; } public void setPoprzedni(ElementListy poprzedni) { this.poprzedni = poprzedni; } public void setNastępny(ElementListy następny) { this.następny = następny; } }
Rozwiązanie
{{{3}}}