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}}}