PO Serializacja - ćwiczenia: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Jsroka (dyskusja | edycje)
Nie podano opisu zmian
 
Jsroka (dyskusja | edycje)
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">
</div>
  '''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}}}