From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/examples/Listing4108.java | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/examples/Listing4108.java (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/Listing4108.java') diff --git a/Master/Reference Architectures and Patterns/hjp5/examples/Listing4108.java b/Master/Reference Architectures and Patterns/hjp5/examples/Listing4108.java new file mode 100644 index 0000000..e9b06e3 --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/examples/Listing4108.java @@ -0,0 +1,68 @@ +/* Listing4108.java */ + +import java.io.*; +import java.util.*; + +public class Listing4108 +{ + public static void main(String[] args) + { + //Erzeugen der Familie + Person opa = new Person("Eugen"); + Person oma = new Person("Therese"); + Person vater = new Person("Barny"); + Person mutter = new Person("Wilma"); + Person kind1 = new Person("Fritzchen"); + Person kind2 = new Person("Kalli"); + vater.father = opa; + vater.mother = oma; + kind1.father = kind2.father = vater; + kind1.mother = kind2.mother = mutter; + + //Serialisieren der Familie + try { + FileOutputStream fs = new FileOutputStream("test3.ser"); + ObjectOutputStream os = new ObjectOutputStream(fs); + os.writeObject(kind1); + os.writeObject(kind2); + os.close(); + } catch (IOException e) { + System.err.println(e.toString()); + } + + //Rekonstruieren der Familie + kind1 = kind2 = null; + try { + FileInputStream fs = new FileInputStream("test3.ser"); + ObjectInputStream is = new ObjectInputStream(fs); + kind1 = (Person)is.readObject(); + kind2 = (Person)is.readObject(); + //Überprüfen der Objekte + System.out.println(kind1.name); + System.out.println(kind2.name); + System.out.println(kind1.father.name); + System.out.println(kind1.mother.name); + System.out.println(kind2.father.name); + System.out.println(kind2.mother.name); + System.out.println(kind1.father.father.name); + System.out.println(kind1.father.mother.name); + //Name des Vaters ändern + kind1.father.name = "Fred"; + //Erneutes Überprüfen der Objekte + System.out.println("---"); + System.out.println(kind1.name); + System.out.println(kind2.name); + System.out.println(kind1.father.name); + System.out.println(kind1.mother.name); + System.out.println(kind2.father.name); + System.out.println(kind2.mother.name); + System.out.println(kind1.father.father.name); + System.out.println(kind1.father.mother.name); + is.close(); + } catch (ClassNotFoundException e) { + System.err.println(e.toString()); + } catch (IOException e) { + System.err.println(e.toString()); + } + } +} \ No newline at end of file -- cgit v1.2.3