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