البرمجة الكائنية - الأصناف في لغة ض
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.عرض_الحالة()
الخلاصة
الأصناف تتيح لك:
- تنظيم الكود بشكل أفضل
- إعادة استخدام الكود
- بناء برامج معقدة
- محاكاة الأشياء الحقيقية
تهانينا!
لقد أنهيت جميع دروس لغة ض الأساسية! الآن يمكنك:
- كتابة برامج كاملة بلغة ض
- استخدام جميع أنواع البيانات
- إنشاء دوال وأصناف
- بناء تطبيقات عملية
استمر في التعلم والتطبيق!