صنف (علوم الحاسب)
الصنف أو الفئة أو الكلاس (Class) في البرمجة كائنية التوجه تمثل المخطط الأولي لإنشاء الكائنات (Objects)، حيث يحدد هذا المخطط مجموعة الخصائص (Attributes) والوظائف (Methods) التي سوف تتشارك فيها جميع الكائنات التي سيتم إنشاؤها من هذا الصنف. يمثل الصنف اسم في الحياة الملموسة أو التخيلية "سيارة" أو "تيار كهربائي". يختزل التصنيف جميع العمليات الاساسية والمعلومات عن الصنف ولا يمكن الوصول إلى المعلومات وتغييرها إلا من خلال العمليات الاساسية أو الاقترانات المصاحبة للصنف. كمثال على ذلك فإن المواطن هو صنف بالنسبة لوزارة الداخلية, المواطن يحتوي على معلومات مثل الاسم وتاريخ الميلاج وتاريخ الوفاة إلخ. في حالة الحاجة إلى تغيير معلومة معينة فإن ذلك لا يتم من أي مكان بل يتم من خلال طلب رسمي إلى الوزارة (عملية أساسية أو اقتران) يحتوي الوثائق اللازمة(المعطيات أو المدخلات[input parameters]) ومن ثم يتم التعديل.
ومن الممكن أن يتم تعريف الصنف من ناحية أخرى بأنه مجموعة من المعلومات المترابطة عن شيء معين. والصنف يتكون من واجهة توصيل [interface] اتعريف كيفية ربط الصنف مع الكائنات الأخرى والبنية التي تصف كيفية بناء الصنف والمكونة من العمليات الاساسية والمعلومات حول الصنف.
جميع لغات البرمجة الحديثة تدعم العمليات الغرضية التوجه المصاحبة للصنف مثل الوراثة, لكنها في السابق كانت محدودة وتخضع للعديد من المعوقات.
لماذا التوجه نحو إنشاء الصنف
لغات البرمجة القديمة كانت تعمل من خلال المفسرات [Interpreter] حيث كان يتم تفسير وتشغيل الأوامر سطرا بعد سطر ولا يمكن تفادي الاخطاء أو النتقال من سطر إلى اخر. بمعنى اخر كان العمل يتم بطريقة تسلسلية. لا يمكن الانتقال من سطر 1 إلى سطر 3 بدون المرور على سطر 2.
ملف:Icon-gears.png | هذه بذرة مقالة عن موضوع تقني تحتاج للنمو والتحسين، فساهم في إثرائها بالمشاركة في تحريرها. |
af:Klasse be-x-old:Кляса (праграмаваньне) bs:Računarska klasa ca:Classe (informàtica) cs:Třída (programování) da:Klasse (datalogi) de:Klasse (Programmierung) Class (computer programming)]] eo:Klaso (objektema programado) es:Clase (informática) et:Klass (programmeerimine) fa:کلاس (برنامهنویسی) fi:Kapselointi fr:Classe (informatique) gl:Clase sw he:מחלקה (תכנות) is:Klasi (forritun) it:Classe (informatica) ja:クラス (コンピュータ) ko:클래스 (컴퓨터 과학) lt:Klasė (programavimas) my:Class(ကွန်ပျူတာ) nl:Klasse (informatica) pl:Klasa (programowanie obiektowe) pt:Classe (programação) ro:Clasă (programare) ru:Класс (программирование) simple:Class (programming) sk:Trieda (programovanie) su:Class (élmu komputer) sv:Klass (programmering) ta:வகுப்பு (கணினியியல்) th:คลาส (คอมพิวเตอร์) tr:Sınıf (programlama) uk:Клас (програмування) vi:Lớp (khoa học máy tính) zh:类 (计算机科学)