في البرمجة الموجهة للكائنات، من المفيد تحديد ما يجب أن يفعله الفصل، ولكن ليس كيف.
تحدد الطريقة المجردة توقيع الطريقة دون توفير التنفيذ، ويجب على الفئة الفرعية تنفيذ تلك الطريقة.
تسمح لك الواجهة في Java بالفصل التام بين تعريف ما يجب القيام به وبين تنفيذ كيفية القيام بذلك.
يمكن للواجهة تحديد الأساليب بدون نص، والتي يجب تنفيذها بواسطة الفئات.
ليس هناك حد لعدد الفئات التي يمكنها تنفيذ واجهة ما، ويمكن للفصل تنفيذ واجهات متعددة.
لتنفيذ واجهة، يجب على الفصل توفير تنفيذ الطرق الموصوفة.
يمكن للفئات المختلفة تنفيذ نفس الواجهة بطرق مختلفة، ولكنها تشترك في نفس مجموعة الأساليب.
يسمح استخدام الواجهات بتعدد الأشكال، حيث يمكن التعامل مع الكائنات من فئات مختلفة بالتبادل.
قدم JDK 8 قدرة الواجهات على تحديد التطبيقات الافتراضية للأساليب، مما يسمح للواجهة بتحديد السلوك.
على الرغم من التطبيقات القياسية، فإن الهدف الأصلي للواجهات هو تحديد ما لم يتغير إلى حد كبير.
سيكون التركيز الأولي على الواجهات التقليدية، مع مناقشة الطرق القياسية في نهاية الفصل.
اسم واجهة الوصول {
إعادة كتابة طريقة الاسم 1 (قائمة المعلمات)؛
إعادة كتابة طريقة الاسم 2 (قائمة المعلمات)؛
اكتب var1 = القيمة؛
اكتب var2 = القيمة؛
// ...
إعادة كتابة اسم الأسلوب N(قائمة المعلمات);
اكتب فارن = القيمة؛
يمكن أن يكون الوصول إلى الواجهة عامًا أو قياسيًا (الحزمة الخاصة).
إذا لم يتم تضمين أي معدّلات وصول، فلا يمكن الوصول إلى الواجهة إلا لأعضاء الحزمة الخاصة بها.
عند الإعلان عنها كواجهة عامة، يمكن استخدام الواجهة بواسطة أي كود، ويجب أن تكون في ملف بنفس الاسم.
يمكن أن يكون اسم الواجهة أي معرف صالح.
في الشكل التقليدي للواجهة، يتم الإعلان عن الأساليب فقط مع نوع الإرجاع والتوقيع الخاص بها، وهي في الأساس طرق مجردة.
الفئات التي تنفذ هذه الواجهة يجب أن توفر تطبيقات لجميع أساليبها، والتي تكون عامة ضمنيًا.
المتغيرات الموجودة في الواجهة ليست متغيرات مثيل؛ فهي ضمنيًا عامة ونهائية وثابتة، ويجب تهيئتها (فهي ثوابت).
مثال لتعريف الواجهة:
سلسلة الواجهة العامة {
int getNext(); // يُرجع الرقم التالي في السلسلة
إعادة تعيين باطلة ()؛ // إعادة تشغيل
مجموعة باطلة (int x); // يحدد القيمة الأولية
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3