Skip to main content

البرمجة الكائنية - الأصناف في لغة ض

warning

ميزة الأصناف لا تزال قيد التطوير. بعض أجزاء تصميم الأصناف والسلوك قد تتغير في الإصدارات القادمة.

ما هو الصنف؟

الصنف هو قالب لإنشاء الكائنات (Objects).

صنف سيارة:
دالة __بناء__(ذاتي، النوع، اللون):
ذاتي.النوع = النوع
ذاتي.اللون = اللون

إنشاء كائن

سيارة1 = سيارة("تويوتا"، "أحمر")
اطبع(سيارة1.النوع) # تويوتا
اطبع(سيارة1.اللون) # أحمر

الدوال داخل الصنف (Methods)

صنف حساب_بنكي:
دالة __بناء__(ذاتي، الاسم، الرصيد = 0):
ذاتي.الاسم = الاسم
ذاتي.الرصيد = الرصيد

دالة إيداع(ذاتي، المبلغ):
ذاتي.الرصيد += المبلغ
اطبع("تم إيداع " + نص(المبلغ))

دالة سحب(ذاتي، المبلغ):
إذا المبلغ <= ذاتي.الرصيد:
ذاتي.الرصيد -= المبلغ
اطبع("تم سحب " + نص(المبلغ))
وإلا:
اطبع("رصيد غير كافٍ")

دالة عرض_الرصيد(ذاتي):
اطبع("رصيد " + ذاتي.الاسم + ": " + نص(ذاتي.الرصيد))

# استخدام الصنف
حساب = حساب_بنكي("أحمد"، 1000)
حساب.إيداع(500)
حساب.سحب(200)
حساب.عرض_الرصيد()

مثال: نظام طلاب

صنف طالب:
دالة __بناء__(ذاتي، الاسم، الرقم):
ذاتي.الاسم = الاسم
ذاتي.الرقم = الرقم
ذاتي.الدرجات = []

دالة إضافة_درجة(ذاتي، درجة):
ذاتي.الدرجات.أضف(درجة)

دالة حساب_المعدل(ذاتي):
إذا طول(ذاتي.الدرجات) == 0:
ارجع 0

مجموع = 0
لكل درجة في ذاتي.الدرجات:
مجموع += درجة

ارجع مجموع / طول(ذاتي.الدرجات)

دالة عرض_المعلومات(ذاتي):
اطبع("=" * 30)
اطبع("الاسم: " + ذاتي.الاسم)
اطبع("الرقم: " + نص(ذاتي.الرقم))
اطبع("المعدل: " + نص(ذاتي.حساب_المعدل()))
اطبع("=" * 30)

# إنشاء طالب
أحمد = طالب("أحمد محمد"، 12345)
أحمد.إضافة_درجة(90)
أحمد.إضافة_درجة(85)
أحمد.إضافة_درجة(95)
أحمد.عرض_المعلومات()

مثال: لعبة بسيطة

صنف لاعب:
دالة __بناء__(ذاتي، الاسم):
ذاتي.الاسم = الاسم
ذاتي.النقاط = 0
ذاتي.المستوى = 1

دالة إضافة_نقاط(ذاتي، نقاط):
ذاتي.النقاط += نقاط
اطبع(ذاتي.الاسم + " حصل على " + نص(نقاط) + " نقطة")

# رفع المستوى عند 100 نقطة
إذا ذاتي.النقاط >= 100 * ذاتي.المستوى:
ذاتي.رفع_المستوى()

دالة رفع_المستوى(ذاتي):
ذاتي.المستوى += 1
اطبع(ذاتي.الاسم + " وصل للمستوى " + نص(ذاتي.المستوى))

دالة عرض_الحالة(ذاتي):
اطبع(ذاتي.الاسم + " - المستوى: " + نص(ذاتي.المستوى) + "، النقاط: " + نص(ذاتي.النقاط))

# اللعب
لاعب1 = لاعب("أحمد")
لاعب1.إضافة_نقاط(50)
لاعب1.إضافة_نقاط(60)
لاعب1.إضافة_نقاط(40)
لاعب1.عرض_الحالة()

الخلاصة

الأصناف تتيح لك:

  • تنظيم الكود بشكل أفضل
  • إعادة استخدام الكود
  • بناء برامج معقدة
  • محاكاة الأشياء الحقيقية

تهانينا!

لقد أنهيت جميع دروس لغة ض الأساسية! الآن يمكنك:

  • كتابة برامج كاملة بلغة ض
  • استخدام جميع أنواع البيانات
  • إنشاء دوال وأصناف
  • بناء تطبيقات عملية

استمر في التعلم والتطبيق!