ما هي الواجهات في C ++

Ma Hy Alwajhat Fy C



تعد الواجهات ، المعروفة باسم الفئات المجردة ، مجرد مصدر لوصف سلوك الفصل دون الالتزام بتنفيذ الفصل. لا يوجد مفهوم مدمج للواجهات في برمجة C ++. لبدء إنشاء واجهة ، يجب علينا أولاً إنشاء فئة مجردة فقط بوظائف افتراضية خالصة.

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

ما هي الوظيفة الافتراضية البحتة

ال وظيفة افتراضية خالصة يعني أن المستخدمين يعلنون فقط عن الوظيفة وليس تعريفها. يتم استخدام تجاوز الطريقة / الوظيفة لتنفيذ الأساليب الافتراضية البحتة في الفئة المشتقة. تعتبر الوظيفة افتراضية تمامًا إذا تم وصفها داخل الفصل كما هو موضح أدناه:







هنا بناء جملة وظيفة افتراضية خالصة من غرفة الصف.



فصل غرفة {
عام :
// وظيفة افتراضية خالصة
افتراضي مزدوج جيتاريا ( ) = 0 ؛

خاص :
مزدوج طول ؛ // طول الغرفة
مزدوج عرض ؛ // عرض الغرفة
} ؛

ما هي فئة الملخص

الفئة التي تم إنشاؤها خصيصًا لغرض العمل كفئة أساسية تسمى فئة مجردة . يجب أن تكون هناك وظيفة افتراضية نقية واحدة على الأقل موجودة في فئة الملخص. قد تشمل المتغيرات والوظائف القياسية. يجب أن تنفذ الفئات المشتقة الموجودة في الفئة abstract وظيفة افتراضية خالصة للفئة الأساسية ، وإلا فإنها ستصبح مجردة.



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





# تضمين
استخدام مساحة الاسم الأمراض المنقولة جنسيا ؛
فصل شكل
{
عام :
افتراضي int جيتاريا ( ) = 0 ؛
فارغ setWidth ( int ث )
{
عرض = ث ؛
}

فارغ اضبط الطول ( int ال )
{
طول = ال ؛
}

محمي :
int عرض ؛
int طول ؛
} ؛

فصل مستطيل : عام شكل
{
عام : int جيتاريا ( )
{
يعود ( عرض * طول ) ؛
}
} ؛

فصل مثلث : عام شكل
{
عام : int جيتاريا ( )
{
يعود ( عرض * طول ) / 2 ؛
}
} ؛

int رئيسي ( فارغ )
{
المستطيل R. ؛
مثلث ت ؛
تم العثور على R. setWidth ( 9 ) ؛
تم العثور على R. اضبط الطول ( 5 ) ؛
كوت << 'مساحة المستطيل:' << تم العثور على R. جيتاريا ( ) << إندل ؛
ت. setWidth ( 9 ) ؛
ت. اضبط الطول ( 5 ) ؛
كوت << 'مساحة المثلث:' << ت. جيتاريا ( ) << إندل ؛
يعود 0 ؛
}

انتاج |



أهمية الواجهات

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

ما هي قواعد استخدام الواجهات

هناك القواعد التالية التي يجب على المستخدمين اتباعها لاستخدام الواجهات في C ++:

  • تعلن فقط عن الوظائف الافتراضية البحتة.
  • مخصص 0 فقط للوظائف الافتراضية البحتة.
  • لا تنشئ واجهة الفصول.
  • باستخدام مرجع لفئة مجردة أساسية ، يمكننا إنشاء مؤشر لمثيل الفئة المشتقة.

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

# تضمين
# تضمين
# تضمين <سلسلة>
استخدام مساحة الاسم الأمراض المنقولة جنسيا ؛

فصل لينوكسينت
{
عام :
افتراضي سلسلة returnString ( ) = 0 ؛
} ؛
فصل طفل : عام لينوكسينت
{
عام :
سلسلة returnString ( )
{
يعود 'مرحبًا Linuxhint' ؛
}
} ؛
int رئيسي ( )
{
كائن_ طفل ؛
لينوكسينت * pntr ؛
pntr = & كائن_طفل ؛
كوت < عودة ( ) ؛
يعود 0 ؛
}

انتاج |

خاتمة

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