English 🌐
11 الوحدة 11 — الفصل 19

🔬 الأنماط المعممة في جافا (Generics)

أداة قوية للتخلص من التحويل القسري (Casting) ومنع أخطاء الأنواع أثناء التشغيل
“الأنماط المعممة (Generics) تشبه المدقق الإملائي لأنواع البيانات — تكتشف الأخطاء قبل أن تُرسل برنامجك إلى العالم الحقيقي.”
لماذا Generics؟ الأصناف المعممة (Generic Classes) الدوال المعممة (Generic Methods) الواجهات المعممة (Generic Interfaces) محو الأنواع (Type Erasure)
مسار التعلم
5 دروس
1
درس تعليمي
المشكلة — لماذا نحتاج الأنماط المعممة (Generics)؟
فهم تحديات استخدام Object في البرمجة المعممة: التحويل القسري (Casting)، أخطاء وقت التشغيل، وتشبيه المدقق الإملائي.
Casting ClassCastException الدافع
2
درس تعليمي
الأصناف المعممة (Generic Classes) — مثال الكأس
تصميم صنف واحد يعمل مع أي نوع بأمان — باستخدام تشبيه الكأس (Glass) والعصير (Juice) والماء (Water) والعسل (Honey).
Glass<T> معامل النوع (Type Parameter) بدون تحويل قسري
3
درس تعليمي
الدوال المعممة (Generic Methods) — دالة واحدة لجميع الأنواع
كتابة دالة واحدة تقبل مصفوفات من أي نوع — Integer أو String أو Student أو أي شيء آخر.
<T> void أنواع الإرجاع (Return Types) printArray
4
درس تعليمي
الواجهات المعممة (Generic Interfaces) — Comparable<T>
اكتشف كيف تستخدم واجهة Comparable في جافا الأنماط المعممة لمنع مقارنة الأنواع غير المتوافقة.
Comparable<T> أمان الأنواع (Type Safety) String vs Date
5
تعمق
السحر — محو الأنواع (Type Erasure)
اكتشف ما يحدث فعلًا خلف الكواليس: ملف .class واحد فقط، يتحول T إلى Object، والمترجم يُدخل جميع التحويلات نيابةً عنك.
Bytecode وقت الترجمة فقط (Compile-Time Only) فك الترجمة (Decompilation)

المفاهيم الأساسية في لمحة

⚠️
المشكلة (The Problem)
استخدام Object يتطلب تحويلًا قسريًا (Casting)، مما قد يسبب خطأ ClassCastException أثناء التشغيل — وهو خطأ كارثي.
🔬
الحل (The Solution)
تتيح لك الأنماط المعممة (Generics) تحديد الأنواع كمعاملات، مما يلغي التحويل القسري ويكتشف أخطاء الأنواع وقت الترجمة.
🛠️
أداة وليست ركيزة (A Tool, Not a Pillar)
الأنماط المعممة هي ميزة في لغة جافا (منذ JDK 1.5)، وليست إحدى ركائز البرمجة الكائنية الأربع. فكّر بها كأداة إضافية.
🎩
محو الأنواع (Type Erasure)
أثناء التشغيل، تختفي الأنماط المعممة. يستبدل المترجم T بـ Object ويُدخل التحويلات الآمنة تلقائيًا.