PO Serializacja - ćwiczenia: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Linia 1: | Linia 1: | ||
== Zadanie 1 == | == 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. | 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. | ||
{{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"> |
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}}}