الفصل 14: القوالب والمفاهيم
ما ستتعلم في هذا الفصل
- مفهوم القوالب (Generics)
- السمات كقيود على القوالب
- التعدد الشكلي (Polymorphism)
14.1 السمات (Traits)
السمات تحدد عقداً أو واجهة يجب أن يلتزم بها الصنف:
sad
سمة قابل_للطباعة
دالة اطبع()
نهاية
سمة قابل_للمقارنة
دالة قارن(آخر)
نهاية
صنف طالب نفّذ قابل_للطباعة، قابل_للمقارنة
متغير اسم
متغير معدل
باني(اسم، معدل)
هذا.اسم = اسم
هذا.معدل = معدل
نهاية
دالة اطبع()
اطبع_سطر(هذا.اسم + " — معدل: " + هذا.معدل)
نهاية
دالة قارن(آخر)
ارجع هذا.معدل - آخر.معدل
نهاية
نهاية14.2 التعدد الشكلي مع السمات
sad
دالة اطبع_قائمة(عناصر)
لكل عنصر في عناصر
عنصر.اطبع() # كل عنصر ينفذ السمة بطريقته
نهاية
نهاية
متغير طلاب = [
جديد طالب("أحمد"، 3.8)،
جديد طالب("سارة"، 3.9)
]
اطبع_قائمة(طلاب)تمارين
تمرين 1: سمة قابل_للتسلسل
أنشئ سمة قابل_للتسلسل مع دوال إلى_نص() و من_نص() ونفذها في صنف.