Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

ما هي الواجهة؟

جزء من قسم Logic & Flow في رحلة GO على Coddy — الدرس 12 من 68.

تعتبر الواجهة (interface) في Go بمثابة عقد يحدد السلوكيات التي يجب أن يمتلكها النوع (type)، دون تحديد كيفية تنفيذ تلك السلوكيات. فكر فيها كمجموعة من تواقيع الدوال (method signatures) التي تصف ما يمكن لشيء ما القيام به.

لفهم الواجهات بشكل أفضل، تخيل مقبس طاقة في منزلك.

يحتوي المقبس على شكل محدد ويوفر الكهرباء، لكنه لا يهتم بنوع الجهاز الذي تقوم بتوصيله به. سواء كان مصباحاً، أو شاحناً للهاتف، أو جهاز كمبيوتر، فإن أي جهاز يحتوي على شكل القابس الصحيح يمكنه الاتصال وتلقي الطاقة. يحدد المقبس "الواجهة" (interface) - وهي متطلبات الاتصال.

في لغة Go، تعمل الواجهة (interface) بطريقة مماثلة. فهي تحدد مجموعة من تواقيع الدوال (method signatures) التي يجب أن تتوفر في النوع (type) لكي "يرتبط" بتلك الواجهة. أي نوع يمتلك كافة الدوال المطلوبة يحقق شروط الواجهة تلقائيًا، بغض النظر عما قد يفعله هذا النوع بالإضافة إلى ذلك أو كيفية تنفيذه لتلك الدوال.

هذا المفهوم قوي لأنه يسمح لك بكتابة كود يعمل مع أي نوع يمكنه أداء سلوكيات معينة، مما يجعل برامجك أكثر مرونة وقابلية لإعادة الاستخدام. تماماً مثلما يمكن لمختلف الأجهزة استخدام نفس مقبس الطاقة، يمكن لمختلف أنواع Go أن تستوفي جميعها نفس الواجهة (interface) طالما أنها تمتلك الأساليب (methods) المطلوبة.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

ورقة مرجعية

تحدد الواجهة (interface) في لغة Go عقداً من تواقيع الدوال (method signatures) التي يجب على النوع (type) تنفيذها. أي نوع يحتوي على جميع الدوال المطلوبة يحقق الواجهة تلقائياً.

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

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow