مسار التعلم
5 دروس
1
درس تعليمي
المشكلة — لماذا نحتاج الأنماط المعممة (Generics)؟
فهم تحديات استخدام
Object في البرمجة المعممة: التحويل القسري (Casting)، أخطاء وقت التشغيل، وتشبيه المدقق الإملائي.2
درس تعليمي
الأصناف المعممة (Generic Classes) — مثال الكأس
تصميم صنف واحد يعمل مع أي نوع بأمان — باستخدام تشبيه الكأس (Glass) والعصير (Juice) والماء (Water) والعسل (Honey).
3
درس تعليمي
الدوال المعممة (Generic Methods) — دالة واحدة لجميع الأنواع
كتابة دالة واحدة تقبل مصفوفات من أي نوع —
Integer أو String أو Student أو أي شيء آخر.4
درس تعليمي
الواجهات المعممة (Generic Interfaces) — Comparable<T>
اكتشف كيف تستخدم واجهة
Comparable في جافا الأنماط المعممة لمنع مقارنة الأنواع غير المتوافقة.5
تعمق
السحر — محو الأنواع (Type Erasure)
اكتشف ما يحدث فعلًا خلف الكواليس: ملف
.class واحد فقط، يتحول T إلى Object، والمترجم يُدخل جميع التحويلات نيابةً عنك.المفاهيم الأساسية في لمحة
المشكلة (The Problem)
استخدام
Object يتطلب تحويلًا قسريًا (Casting)، مما قد يسبب خطأ ClassCastException أثناء التشغيل — وهو خطأ كارثي.الحل (The Solution)
تتيح لك الأنماط المعممة (Generics) تحديد الأنواع كمعاملات، مما يلغي التحويل القسري ويكتشف أخطاء الأنواع وقت الترجمة.
أداة وليست ركيزة (A Tool, Not a Pillar)
الأنماط المعممة هي ميزة في لغة جافا (منذ JDK 1.5)، وليست إحدى ركائز البرمجة الكائنية الأربع. فكّر بها كأداة إضافية.
محو الأنواع (Type Erasure)
أثناء التشغيل، تختفي الأنماط المعممة. يستبدل المترجم
T بـ Object ويُدخل التحويلات الآمنة تلقائيًا.