مفهوم الكلاس والخصائص في لغة البرمجة سي بلس بلس Class and Attributes

اقرأ في هذا المقال


مفهوم الكلاس في لغة البرمجة ++C:

الكلاس (Class) في لغة البرمجة سي بلس بلس (++C) هو عبارة عن نوع جديد يتم تعريفه بواسطة الكلمة المحجوزة (class) و هذا النوع يمكنه أن يحتوي على دوال أو متغيرات أو مصفوفات، والنوع الذي يتم تعريفه بواسطة الكلمة (class) يشبه إلى حد كبير النوع الذي يتم تعريفه عن طريق (struct)، ولكن الفرق الأساسي بين النوع (class) و(struct) هو أن النوع (struct) يمكن الوصول لأي شيء موجود فيه بشكل مباشر بينما في النوع (class) يتم تحديد ما إن كان يمكن الوصول للأشياء التي يتم تعريفها فيه بشكل مباشر أم لا.

وعملية تحديد الطريقة التي يمكن من خلالها الوصول للأشياء الموجودة في الكلاس تمكننا من تطبيق كل مبادئ البرمجة الكائنية التوجه (OOP) المتعارف عليها.

كيفية تعريف كلاس في لغة البرمجة ++C:

لتعريف كلاس جديد في لغة البرمجة سي بلس بلس (++C) نكتب الكلمة (class) ثم نعطيه إسم معين بعد ذلك يتم فتح أقواس لتحديد بداية ونهاية الكلاس.

مفهوم الخصائص في لغة سي بلس بلس- ++Attributes In C:

تعد الخصائص  هي مجموعة المتغيرات والمصفوفات والكائنات التي يتم تعريفها بداخل الكلاس و التي سيملك نسخة خاصة منها أي كائن ننشئه منه، وعند تعريف أي من هذه الخصائص داخل الكلاس يحب تحديد كيفية الوصول إليها ولتحدد كيفية الوصول لهذه الخصائص يتم استخدام الكلمات المخصصة لذلك والتي تسمى (Access Specifiers) وهي:

الكلمةاستخدامها
publicتستخدم لتحديد أن الخصائص الموضوعة في الكلاس يمكن الوصول لها من أي مكان.
privateتستخدم لتحديد أن الخصائص التي تم تعريفها في الكلاس لا يمكن الوصول لها من خارجه.
protectedتستخدم لتحديد أن الأشياء الموضوعة في الكلاس يمكن الوصول لها عند تطبيق مفهوم الوراثة.

مفاهيم خاصة بالكلاس:

  • الكونستركتور Constructor): عبارة عن دالة مميزة يتم استدعاؤها بشكل تلقائي عند إنشاء كائن من الكلاس، وهذه الدالة تجعل المستخدم قادر على تمرير قيم أولية للكائن بشكل مباشر عند تعريفه.
  • الدستركتور (Destructor): هو عبارة عن دالة مميزة يتم استدعاؤها بشكل تلقائي عندما يتم مسح الكائن.
  • الدالة الصديقة (Friend Function): هي عبارة عن دالة يمكنها الوصول لخصائص الكائن حتى إن كائن في الكلاس نوعه (private) أو (protected).

المصدر: C++ Classes and ObjectsClass And Instance AttributesC++ Access Specifiers


شارك المقالة: