الفصيلة أو الصنف أو الفئة («القالب» بالترجمة الغير حرفية) (Class) [1] ويعني في البرمجة الكائنية التوجه «Object Orianted Programming» قالبًا بشفرة برمجية «program-code-template» ويمثل المخطط الأولي لإنشاء الكائنات «Objects»، حيث يحدد هذا المخطط مجموعة الخصائص (Attributes) والوظائف (Methods) التي سوف تتشاركها جميع الكائنات التي ستُنشَأ من هذا الصنف، ويقوم بتوفير القيم الأولية للمتغيرات الأعضاء داخل هذا الصنف «Member variable» والسلوك الُمطَبَّق (الوظائف أو الطرق للأعضاء) «member functions or methods» من ناتج هذا الصنف (قالب الفصيلة) .[2][3] يمثل الصنف (قالب الفصيلة) اسما في الحياة الملموسة أو التخيلية مثل «السيارة» أو «التيار الكهربائي». يختزل الصنف جميع العمليات الأساسية والمعلومات عن الفصيلة (مثال فصيلة السيارات يمكن أن ينتج كائنا Object مثل سيارة صغيرة وسيارة كبيرة وسيارة مكشوفة وسيارة رياضية وسيارة بثلاثة أبواب وسيارة بمقصورة إلخ)، ولا يمكن الوصول إلى المعلومات وتغييرها إلا من خلال العمليات الأساسية أو الاقترانات المصاحبة للصنف (Class)، كمثال آخر على ذلك فإن المواطن هو فصيلة بالنسبة لوزارة الداخلية، المواطن يحتوي على معلومات مثل الاسم وتاريخ الميلاد وتاريخ الوفاة إلخ. في حالة الحاجة إلى تغيير معلومة معينة فإن ذلك لا يحصل من أي مكان بل يحصل من خلال طلب رسمي إلى الوزارة (عملية أساسية أو اقتران) يحوي الوثائق اللازمة (المعطيات أو المدخلات [input parameters]) ومن ثم يحصل التعديل، في كثير من لغات البرمجة يستخدم اسم الصنف (الفصيلة class) كاسم الباني «Constructor» وهو الذي يعطينا الكائن «object» الناتج من الصنف. الباني هو عبارة عن مجموعة من الإجراءات أو الشفرة داخل دالة «Function أو Subroutine» بنفس اسم الصنف، وهو ما ينشئ الكائنات «objects»، أنواع الكائنات الناتجة تسمى مجسدا من «instance» الصنف. (المفاهيم السابقة يجب دراستها بعناية).[3]
ومن الممكن أن يُعَرَّفَ الصنف من ناحية أخرى بأنه مجموعة من المعلومات المترابطة عن شيء معين. والصنف يتكون من واجهة توصيل [interface] لتعريف كيفية ربط الصنف مع الكائنات الأخرى والبنية التي تصف كيفية بناء الصنف والمكونة من العمليات الأساسية والمعلومات حول الصنف، جميع لغات البرمجة الحديثة تدعم العمليات مصاحبة لصنف مثل الوراثة، لكنها في السابق كانت محدودة وتخضع للعديد من المعوقات.
لماذا التوجه نحو إنشاء الصنف
لغات البرمجة القديمة كانت تعمل من خلال المفسرات [Interpreter] حيث كان يتم تفسير وتشغيل الأوامر سطرا بعد سطر ولا يمكن تفادي الأخطاء أو التنقل من سطر إلى آخر. بمعنى آخر كان العمل يتم بطريقة تسلسلية. لا يمكن الانتقال من سطر 1 إلى سطر 3 دون المرور على سطر 2.
التصميم والتنفيذ
مقالات ذات صلة
مصادر ومراجع
- "ترجمة Class". مؤرشف من الأصل في 11 أكتوبر 2016.
- Gamma et al. 1995، صفحة 14.
- Bruce 2002، 2.1 Objects, classes, and object types, //books.google.com/books?id=9NGWq3K1RwUC&pg=PA18.
قراءة مُعَمَّقة
- Abadi; Cardelli: A Theory of Objects
- ISO/IEC 14882:2003 Programming Language C++, International standard
- Class Warfare: Classes vs. Prototypes, by Brian Foote
- Meyer, B.: "Object-oriented software construction", 2nd edition, Prentice Hall, 1997,
- Rumbaugh et al.: "Object-oriented modeling and design", Prentice Hall, 1991,
وصلات خارجية
- Dias, Tiago (October 2006). "Programming demo - .NET using Partial Types for better code". Hyper/Net. Youtube. مؤرشف من الأصل في 29 مايو 2016.