أعضاء الفئة (Class Members) في لغة C#
في لغة C#، الفئة (Class) هي قالب لإنشاء كائنات (Objects)، وتتكون من مجموعة من الأعضاء (Members) التي تحدد سلوك وحالة الكائنات التي يتم إنشاؤها من هذه الفئة. هذه الأعضاء تشمل:
1. الحقول (Fields):
- هي متغيرات تُعرّف داخل الفئة وتُستخدم لتخزين البيانات المتعلقة بالكائنات.
- تُمثل حالة الكائن.
- يمكن تحديد مستوى الوصول إليها (Access Modifiers) لتحديد كيفية الوصول إليها من خارج الفئة (مثل
public
،private
،protected
).
مثال:
C#
public class Car{ public string Model; // حقل عام (Public) private int Year; // حقل خاص (Private)}
2. الدوال (Methods):
- هي كتل من التعليمات البرمجية التي تُنفذ إجراءات معينة.
- تُمثل سلوك الكائن.
- يمكن أن تأخذ مُدخلات (Parameters) وتُرجع قيمة (Return Value).
مثال:
C#
public class Car{ public void StartEngine() { // تعليمات تشغيل المحرك }
public int GetYear() { return Year; }}
3. الخصائص (Properties):
- هي وسيلة للوصول إلى الحقول بطريقة مُتحكمة.
- تُوفر آليات للتحقق من صحة البيانات قبل تعيينها للحقول، أو إجراء عمليات أخرى عند الوصول إلى قيمة الحقل.
- تتكون من جزأين:
get
لقراءة قيمة الحقل، وset
لتعيين قيمة جديدة له.
مثال:
C#
public class Car{ private int year;
public int Year { get { return year; } set { if (value > 1900 && value <= DateTime.Now.Year) // التحقق من صحة السنة { year = value; } } }}
4. المنشئات (Constructors):
- هي دوال خاصة تُنفذ تلقائيًا عند إنشاء كائن جديد من الفئة.
- تُستخدم لتهيئة حالة الكائن (مثل تعيين قيم ابتدائية للحقول).
- يمكن أن يكون للفئة أكثر من مُنشئ (Overloading) بمُدخلات مختلفة.
مثال:
C#
public class Car{ public string Model; public int Year;
public Car(string model, int year) // مُنشئ بمُدخلات { Model = model; Year = year; }
public Car() // مُنشئ افتراضي (بدون مُدخلات) { Model = "Unknown"; Year = DateTime.Now.Year; }}
5. الأحداث (Events):
- هي آليات لإشعار الأجزاء الأخرى من البرنامج بحدوث شيء معين داخل الكائن.
- تُستخدم بشكل شائع في واجهات المستخدم الرسومية (GUI) للتعامل مع تفاعلات المستخدم (مثل النقر على زر).
مثال:
C#
public class Button{ public event EventHandler Clicked;
public void OnClick() { if (Clicked != null) { Clicked(this, EventArgs.Empty); } }}
6. الثوابت (Constants):
- هي قيم ثابتة لا يمكن تغييرها بعد تعريفها.
- تُستخدم لتمثيل قيم لا تتغير أبدًا (مثل قيمة Pi).
مثال:
C#
public class MathConstants{ public const double PI = 3.14159;}
7. أنواع البيانات المُتداخلة (Nested Types):
- هي أنواع بيانات (مثل فئات أو هياكل) تُعرّف داخل فئة أخرى.
- تُستخدم لتجميع أنواع البيانات ذات الصلة معًا.
مثال:
C#
public class OuterClass{ public class InnerClass { // أعضاء الفئة الداخلية }}
8. المُنهيات (Finalizers):
- هي دوال خاصة تُنفذ بواسطة مُجمع القمامة (Garbage Collector) قبل إزالة الكائن من الذاكرة.
- تُستخدم لتحرير الموارد غير المُدارة (Unmanaged Resources) التي يستخدمها الكائن.
مثال:
C#
public class MyClass{ ~MyClass() { // تعليمات تحرير الموارد }}
هذه هي أهم أعضاء الفئة في لغة C#. فهم هذه الأعضاء وكيفية استخدامها يُعتبر أساسيًا في البرمجة الشيئية (Object-Oriented Programming) باستخدام C#.
ملاحظات إضافية:
- يُمكن استخدام مُعدِّلات الوصول (Access Modifiers) مثل
public
،private
،protected
، وinternal
لتحديد مستوى الوصول إلى أعضاء الفئة. - يُمكن استخدام الكلمة المفتاحية
readonly
لجعل الحقل للقراءة فقط بعد تهيئته