من المفاهيم المبهمة والمهمة جدا التي ترد ذكرها كثير في documentation لغات البرمجة هو مفهوم
generic data type او generic class
يمكن تعريبها على انها الكلاسات المعممة
المقصود بها :كلاس ياخذ النمط كبراميتر عند تعريف الكلاس بين القوسين <>
مثال عليها :
لنفترض اننا عرفنا list من الاعداد الصحيحة :
List myList =new list
هنا يوجد خطورة ان نضيف النصوص او المحارف كعناصر الى الList مما قد ينتج عنه اخطاء برمجية اذا قمنا بعملية الجمع على عناصر الlist معتقدين انه عدد صحيح
وهنا يمكن تحويل الlist الى generic type بمساعد القوسين <>:
List myGenericList <Int> =new list
وبما اننا ادخلنا int كباراميتر فان ذلك يعني اننا لا يمكن اضافة الا الاعداد الصحيحة لليست
هذا المثال يظهر فوائد استخدام الجينيريك تايب:
-type safety
تضمن لنا عدم استخدام الانماط الخطا لاننا عند تعريف الكلاس حددنا لها الانماط المطلوبة للمتغيرات
-reduce type casting
تختصر علينا العبارات الشرطية وعبارات الكاست التي تحدد بشكل شرطي التايب المطلوب للمتغير
رابط لشرح هذا المفهوم: