تطبيق OOP عمليًا | Person مع Methods بشرح تفصيلي للمبتدئين

20:00 دقائق مجاني
تطبيق عملي يربط OOP بالممارسة: كلاس Person بخصائص خاصة وMethods مثل introduce و birthday لفهم فكرة “بيانات + سلوك”.

في البرمجة الكائنية لا نضع “بيانات” فقط داخل الكلاس، بل نضع أيضًا “سلوكًا”.

مثلًا: الشخص لديه اسم وعمر (بيانات)، ولكنه أيضًا يستطيع أن يعرّف بنفسه (سلوك)، ويمكن أن يزيد عمره سنة عندما يأتي عيد ميلاده (سلوك).

هذا هو جوهر OOP: بيانات + سلوك في مكان واحد.

كلاس Person (بيانات + سلوك)

سنكتب كلاس Person مع:

  • خصائص خاصة (private) لحماية البيانات.
  • Constructor لتهيئة الكائن.
  • Methods تمثل سلوك الشخص.
class Person {
  private String name;
  private int age;

  public Person(String name, int age) {
    this.name = name;
    this.age = age;
  }

  public void introduce() {
    System.out.println("اسمي " + name + " وعمري " + age);
  }

  public void birthday() {
    age++;
  }
}

لاحظ استخدام this: تدل على أن المقصود هو خاصية الكائن نفسه.

استخدام الكلاس داخل main

الآن سننشئ كائنًا ونستخدم سلوكه:

public class Main {
  public static void main(String[] args) {
    Person p = new Person("Sara", 20);

    p.introduce();  // يعرّف بنفسه

    p.birthday();   // يزيد العمر سنة

    p.introduce();  // يعرض العمر الجديد
  }
}

لاحظ النقطة المهمة: نحن لا نزيد العمر مباشرة (مثل p.age = ...)، بل نستخدم Method داخل الكلاس. هذا أسلوب أكثر تنظيمًا وأمانًا.

لماذا هذا الأسلوب أفضل للمبتدئ؟

  • يساعدك على التفكير في البرنامج كأشياء واضحة بدل متغيرات مبعثرة.
  • يجعلك تفهم معنى “سلوك” الكائن (Methods).
  • يحمي البيانات ويمنع التلاعب بها من الخارج.
  • يسهّل إضافة ميزات لاحقًا (مثل تغيير طريقة التعريف أو إضافة شروط).

تمرين لتثبيت الفكرة

جرّب تطوير Person:

  • أضف Method باسم changeName لتغيير الاسم (مع شرط أن الاسم ليس فارغًا).
  • أضف Method باسم isAdult ترجع true إذا كان العمر 18 أو أكثر.
  • أنشئ شخصين مختلفين واطبع تعريف كل واحد.

أخطاء شائعة وكيف تتجنبها

  • نسيان كلمة public قبل Methods التي تريد استخدامها من main.
  • نسيان إنشاء كائن ثم محاولة استدعاء Method على شيء غير موجود.
  • الخلط بين this.name و name عند وجود نفس الاسم في المدخلات.

✅ بقي لنا الختام: سنلخّص ما تعلمته ونضع خطة واضحة لما بعد دورة المبتدئين.