012 | دورة مدفوعة | Polymorphism & Files

Опубликовано: 26 Октябрь 2024
на канале: Bader Jbara
94
2

الـ Polymorphism هو مفهوم في البرمجة الذي يسمح لك بتعريف واستخدام وظائف وممتلكات بشكل عام ومستقل عن نوع البيانات الفعلية التي يتم التعامل معها. في السياق الأكثر شيوعًا، يشير الـ Polymorphism إلى القدرة على استخدام وظائف (أو طرق) في الكائنات المختلفة بطرق مختلفة وبناء عليها.

يتم تحقيق الـ Polymorphism في لغة C++ عادةً عبر التعامل مع الدوال الافتراضية (virtual functions) والوراثة (inheritance). عند استخدام الدوال الافتراضية في الكلاس الأساسي (base class)، يمكن للكائنات المشتقة (derived objects) استبدال هذه الدوال وتقديم تنفيذات مختلفة لها وفقًا لاحتياجاتها الخاصة.

فيما يتعلق بـ "Files"، يشير هذا إلى عمليات القراءة والكتابة من وإلى الملفات على النظام. في C++، يتم التعامل مع الملفات باستخدام مكتبة الإدخال والإخراج (Input/Output) المتقدمة (iostream)، حيث يمكن فتح ملفات، الكتابة إليها، القراءة منها، وإغلاقها.

الترابط بين Polymorphism و Files يمكن أن يتم عبر استخدام الـ Polymorphism لتنظيم العمليات المختلفة على الملفات. مثلاً، يمكن أن تكون لديك واجهة (interface) عامة لعمليات الكتابة والقراءة من الملفات، وتنفيذات متعددة لهذه الواجهة باستخدام Polymorphism لتعامل مع أنواع ملفات مختلفة بنفس الطريقة العامة.

مثال توضيحي لذلك في C++ يمكن أن يكون باستخدام وظائف افتراضية في كلاس واجهة للعمليات على الملفات (مثل فتح وإغلاق الملفات)، ثم تنفيذ كلاسات مشتقة لهذه الواجهة للتعامل مع أنواع ملفات مختلفة مثل النصية، الصوتية، أو البيانات المنظمة بشكل معين، وبذلك يمكنك استخدام نفس الواجهة لتنظيم العمليات على هذه الملفات بطريقة متجانسة ومرنة.