Ĺadny brzuch
Zacząłem sie uczyć javy i mam takie pytanie czy można zrobić coś takiego jak w c++ żeby zapisać klase do pliku binarnego a potem odczytać te dane.
Przy użyciu jakich interfejsów najlepiej to zrobić?
W javie można zrobić dużo rzeczy... Jeżeli dobrze rozumiem o co ci chodzi, to tak, można to zrobić przy pomocy interfejsu Serializable. Ten interfejs nie ma żadnych metod, po prostu musi być dostępny w klasie, którą chcesz tak zapisać. Dodam jeszcze, że jeżeli w tej klasie są referencje do obiektów innych klas, to te inne klasy też muszą implementować ten interfejs, co jest raczej naturalną koleją rzeczy. Klasa String ma taki interfejs.
Jeszcze jedna rzecz: jeżeli zapiszesz tak klasę w C++ i ona ma w sobie wskaźnik na coś, to w pilku zapisze się tylko adres tego obiektu, a nie obiekt. W javie zapisze się cały obiekt (stąd to wymaganie, że musi mieć Serializable). Użycie tego (odczyt i zapis) jest raczej prostą sprawą, szczegóły znajdziesz w dokumentacji lub w Google (ale wisz konkretnie czego szukać).
heh dzięki wielkie za wskazówke, dokładnie o to mi chodziło, thx
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Przy użyciu jakich interfejsów najlepiej to zrobić?
W javie można zrobić dużo rzeczy... Jeżeli dobrze rozumiem o co ci chodzi, to tak, można to zrobić przy pomocy interfejsu Serializable. Ten interfejs nie ma żadnych metod, po prostu musi być dostępny w klasie, którą chcesz tak zapisać. Dodam jeszcze, że jeżeli w tej klasie są referencje do obiektów innych klas, to te inne klasy też muszą implementować ten interfejs, co jest raczej naturalną koleją rzeczy. Klasa String ma taki interfejs.
Jeszcze jedna rzecz: jeżeli zapiszesz tak klasę w C++ i ona ma w sobie wskaźnik na coś, to w pilku zapisze się tylko adres tego obiektu, a nie obiekt. W javie zapisze się cały obiekt (stąd to wymaganie, że musi mieć Serializable). Użycie tego (odczyt i zapis) jest raczej prostą sprawą, szczegóły znajdziesz w dokumentacji lub w Google (ale wisz konkretnie czego szukać).
heh dzięki wielkie za wskazówke, dokładnie o to mi chodziło, thx