أساسيات التسلسل
افهم أساسيات تسلسل Java: واجهة Serializable وObjectOutputStream وObjectInputStream.
أساسيات التسلسل درس مجاني في Java Academy على CoddyKit. هذا هو الدرس 1 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Java Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Java Academy 3 دروس في المجموع.
مقدمة
يعني التسلسل حفظ حالة كائن في ملف (أو تدفق) واستعادتها لاحقًا. ويُستخدم غالبًا للتخزين الدائم أو لإرسال الكائنات.
واجهة Serializable
يجب أن تطبّق الفئة java.io.Serializable للسماح بتسلسل كائناتها. هذه واجهة وسم لا تحتوي على أي أساليب.
الشفرة: فئة Serializable
تطبّق Person هنا Serializable. وهذا يجعلها مؤهلة للكتابة باستخدام ObjectOutputStream.
import java.io.Serializable;
public class Main {
static class Person implements Serializable {
String name;
int age;
Person(String n, int a) { name = n; age = a; }
public String toString() { return name + "(" + age + ")"; }
}
public static void main(String[] args) {
Person p = new Person("Ada", 30);
System.out.println("Created: " + p);
}
}
ObjectOutputStream
يكتب ObjectOutputStream كائنًا إلى ملف. وسيحتوي الملف على تمثيل ثنائي للكائن.
الشفرة: كتابة كائن
يكتب هذا الرمز كائن Person إلى ملف اسمه person.ser.
import java.io.*;
public class Main {
static class Person implements Serializable {
String name; int age;
Person(String n,int a){name=n;age=a;}
}
public static void main(String[] args) {
Person p = new Person("Bob",25);
try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("person.ser"))) {
out.writeObject(p);
System.out.println("Object written");
} catch(IOException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
الشفرة: قراءة كائن
يقرأ هذا الرمز كائن Person من الملف مرة أخرى ويطبعه.
import java.io.*;
public class Main {
static class Person implements Serializable {
String name; int age;
Person(String n,int a){name=n;age=a;}
public String toString(){return name+"("+age+")";}
}
public static void main(String[] args) {
try (ObjectInputStream in = new ObjectInputStream(new FileInputStream("person.ser"))) {
Person p = (Person) in.readObject();
System.out.println("Read: " + p);
} catch(Exception e) {
System.out.println("Error: " + e.getMessage());
}
}
}
التحقق من التسلسل
تحقق سريع: ماذا يجب أن تفعل الفئة لكي تكون قابلة للتسلسل؟
خلاصة
خلاصة: يحفظ التسلسل الكائنات باستخدام ObjectOutputStream ويستعيدها باستخدام ObjectInputStream. ويجب على الفئات تطبيق Serializable.
الأسئلة الشائعة
هل درس «أساسيات التسلسل» مجاني؟
نعم — نص درس «أساسيات التسلسل» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Java Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Java Academy 3 دروس في المجموع.
ماذا ستتعلم في «أساسيات التسلسل»؟
افهم أساسيات تسلسل Java: واجهة Serializable وObjectOutputStream وObjectInputStream. تتمرن على Java Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Java Academy؟
لا تُشترط خبرة سابقة. Java Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 3.
كم من الوقت يستغرق درس «أساسيات التسلسل»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Java Academy هذا؟
نعم. كل درس في Java Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- أساسيات التسلسل
- التعامل البسيط مع CSV وJSON
- استعراض الملفات والأدوات