تطبيق 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عند وجود نفس الاسم في المدخلات.
✅ بقي لنا الختام: سنلخّص ما تعلمته ونضع خطة واضحة لما بعد دورة المبتدئين.