واجهات في فب هي أداة قوية لتنظيم التعليمات البرمجية وزيادة مرونته. الواجهة هي وصف مجرد للوظائف (أو الأساليب) وسلوكها الذي يجب تنفيذه في الفصل. إنه يحدد فقط توقيعات الطريقة دون تنفيذها. وبالتالي ، تسمح لك الواجهة بإنشاء عقد يجب أن يفي به الفصل.
واحدة من المزايا الرئيسية لاستخدام الواجهات هي الوراثة المتعددة. في فب ، يمكن للفئة تنفيذ واجهات متعددة ، مما يسمح لها بالحصول على وظائف من مصادر مختلفة. يتيح لك ذلك إنشاء تطبيقات أكثر مرونة ووحدات ، كما يسهل اختبار التعليمات البرمجية وصيانتها.
لتحديد واجهة في فب ، يتم استخدام الكلمة واجهة ، تليها اسم واجهة وأقواس مجعد ، والتي تصف الطرق اللازمة. يجب أن تكون الطرق في الواجهة عامة ولا يمكن أن تحتوي على تطبيقات. يمكنهم إرجاع القيم وقبول الوسائط ورمي الاستثناءات ، ولكن لا يمكن أن يكون لديهم معدلات وصول مثل خاصة أو محمية.
مثال على إعلان الواجهة:
واجهة مينتيرفاس {
طريقة الوظيفة العامة1();
طريقة الوظيفة العامة 2 (par المعلمة);
طريقة الوظيفة العامة3 (): كثافة العمليات;
}
من أجل فئة لتنفيذ واجهة ، تحتاج إلى استخدام الكلمة الأساسية تنفذ بعد اسم الفئة وتحديد اسم واجهة. يجب على الفئة تنفيذ جميع الطرق الموضحة في الواجهة ، وإلا سيتم طرح استثناء. يمكن للفئات تنفيذ واجهات متعددة مفصولة بفواصل. (تابع في الإجابة التالية)
- تطوير واجهات في فب
- ما هي واجهة في بي إتش بي?
- لماذا استخدام واجهات
- تحديد واجهات في فب
- استخدام واجهات في فب
- تنفيذ واجهات في فب
- مزايا استخدام واجهات في فب
- سؤال وجواب
- كيف يمكنني إنشاء واجهة في بي إتش بي?
- يمكن لفئة تنفيذ واجهات متعددة في بي إتش بي?
- هي أساليب واجهة الموروثة في الطبقات التي تنفيذها?
تطوير واجهات في فب
واجهة في فب هي واحدة من الأدوات الهامة في تطوير التطبيقات. يسمح لك بتحديد مجموعة من الأساليب التي يجب تنفيذها في الفصل الذي سيستخدم هذه الواجهة. يتيح لك هذا النهج زيادة مرونة التطبيق وقابليته للتطوير ، فضلا عن تبسيط دعمه وتطويره.
يتم تعريف واجهة في فب باستخدام الكلمة واجهة. يمكن الإعلان عن الطرق العامة فقط داخل الواجهة دون تنفيذها. يجب أن تنفذ الفئة التي تنفذ الواجهة بالضرورة جميع الطرق المعلنة في الواجهة.
واجهات يمكن أن تكون موروثة من بعضها البعض باستخدام الكلمة يمتد. في هذه الحالة ، يجب على الفئة التي تنفذ مثل هذه الواجهة تنفيذ جميع الطرق من كل من الواجهة الأصلية والواجهة الفرعية.
لاستخدام واجهة في فئة ، استخدم الكلمة الرئيسية تنفذ وتحديد اسم واجهة أو أسماء واجهة مفصولة بفواصل.
مثال على إعلان الواجهة:
واجهة الشكلواجهة {
الوظيفة العامة جيتاريا();
الوظيفة العامة جيتبيريمتر();
}
مثال على فئة تنفيذ الواجهة:
دائرة الطبقة تنفذ شكل واجهة {
خاص radius دائرة نصف قطرها;
وظيفة عامة _ _ بناء (radius دائرة نصف قطرها) {
- هذا - > نصف القطر = - نصف القطر;
}
الوظيفة العامة جيتاريا () {
عودة بي () * الأسرى (this هذا- > دائرة نصف قطرها ، 2);
}
الوظيفة العامة جيتبيريمتر () {
عودة 2 * بي () * this هذا - > دائرة نصف قطرها;
}
}
عند استخدام الواجهات ، يجب أن تلتزم بالمبدأ الصلب ، وهو مبدأ فصل الواجهات إلى واجهات أصغر وأكثر تحديدا. سيؤدي ذلك إلى جعل الكود أكثر مرونة وصيانته ، كما سيتجنب المشاكل عند إضافة طرق جديدة إلى الواجهات.
وتجدر الإشارة أيضا إلى أن الواجهات يمكن أن تكون مفيدة عند إجراء اختبار الوحدة. باستخدام واجهات ، يمكنك إنشاء كائنات وهمية لاختبار الطبقات ، والذي يسمح لك لعزل الطبقات من التبعيات والتحقق من سلوكهم.
ما هي واجهة في بي إتش بي?
في فب ، واجهة هو اتفاق على الأساليب التي ينبغي تنفيذها في فئة. تحدد الواجهات توقيعات الطريقة فقط ، دون تقديم أي تنفيذ. يمكن للفئات تنفيذ أي عدد من الواجهات ، مما يسمح لها بتوفير وظائف مختلفة.
يتم تنفيذ تعريف واجهة في فب باستخدام الكلمة واجهة ، تليها اسم واجهة ومجموعة من الأساليب مفصولة بفاصلة منقوطة. على سبيل المثال:
واجهة مينتيرفاس {
طريقة الوظيفة العامة1();
طريقة الوظيفة العامة2();
}
يجب أن توفر الفئات التي تنفذ هذه الواجهة تنفيذ جميع أساليبها. خلاف ذلك ، سيتم إنشاء استثناء.
ومع ذلك ، واجهات لا تقيد الطبقات إلى وجود أساليب معينة فقط. يمكن أن تحتوي الفئات أيضا على خصائصها وطرقها وثوابتها ، بالإضافة إلى تلك التي يجب تنفيذها في الواجهة.
واجهات في فب توفر القدرة على تنفيذ تعدد الأشكال. هذا يعني أنه يمكن استخدام الفئات التي تنفذ نفس الواجهة بالتبادل. على سبيل المثال ، إذا كان لدينا عدة فئات تنفذ واجهة "الشكل" ، فيمكننا استخدام أي من هذه الفئات في أي مكان يتوقع فيه كائن "الشكل".
يؤدي استخدام الواجهات إلى تبسيط عملية تطوير التعليمات البرمجية والحفاظ عليها ، فضلا عن زيادة مرونتها. تصبح قراءة الكود الذي ينفذ الواجهة أكثر وضوحا ومرئية ، لأننا نعرف الطرق التي يجب الإعلان عنها والمخرجات المتوقعة التي يجب إرجاعها.
في فب ، يمكنك وراثة واجهات من بعضها البعض عن طريق إنشاء تسلسل هرمي من الواجهات. الوراثة المتعددة ممكنة أيضا عندما تنفذ فئة واحدة واجهات متعددة في نفس الوقت.
لماذا استخدام واجهات
واجهات في فب هي أداة قوية تسمح لك لتحديد مجموعة من الأساليب التي ينبغي تنفيذها في الطبقات التي تنفذ واجهة. استخدام الواجهات له العديد من المزايا:
- التجريد: واجهات تسمح لك مجردة من تنفيذ معين من فئة والتركيز على وظائفها. هذا يسمح لك لتنظيم التعليمات البرمجية بشكل أفضل ويجعلها أكثر مرونة وسهلة القراءة.
- الميراث المتعدد: على عكس الطبقات ، فب يمكن تنفيذ واجهات متعددة في نفس الوقت ، والذي يسمح لك للتأكد من أن مجموعة محددة من الأساليب موجودة في فئة دون الحد من الميراث من فئة رئيسية واحدة.
- التنفيذ المضمون: يوفر استخدام الواجهات ضمانا بأن جميع الفئات التي تنفذ الواجهة سيكون لها مجموعة محددة من الأساليب. هذا مفيد بشكل خاص عند العمل في فريق ، عندما يمكن للعديد من المطورين العمل على أجزاء مختلفة من الكود.
لاستخدام واجهات في فب ، تحتاج أولا إلى تحديد واجهة باستخدام الكلمة واجهة ، ومن ثم تنفيذ هذه الواجهة في فئة باستخدام الكلمة الرئيسية تنفذ.
على سبيل المثال ، ضع في اعتبارك واجهة "التنسيق" باستخدام طريقة فورماتكست() :
| تنسيق الواجهةواجهة | ||
| { | ||
| نص تنسيق الوظيفة العامة (text نص); | // تحديد طريقة الواجهة | |
| } |
ثم نحدد فئة "تكستفورمات" وتنفيذ واجهة " تنسيق:
| يقوم تنسيق نص الفصل بتنفيذ واجهة التنسيق | ||
| { | ||
| نص تنسيق الوظيفة العامة (text نص) | // تنفيذ طريقة الواجهة | |
| } |
لاحظ أنه يجب تنفيذ طريقة فورماتكست () في فئة" تنسيق النص " وفقا للتنسيق المحدد في الواجهة.
وبالتالي ، يتيح لك استخدام الواجهات إنشاء عقد مشترك بين الفئات ، وتحديد مجموعة من الأساليب المطلوبة وضمان تنفيذها. هذا يسمح لك بتنظيم التعليمات البرمجية الخاصة بك بشكل أفضل وتحسين جودتها ومرونتها.
تحديد واجهات في فب
واجهة في فب هو اتفاق على كيفية أساليب معينة في فئة يجب أن تبدو. يحدد مجموعة من الأساليب التي يجب تنفيذها في الفئة التي تنفذ هذه الواجهة.
يتم الإعلان عن واجهة في فب باستخدام واجهة الكلمة الرئيسية ، تليها اسم واجهة.
لنلق نظرة على مثال لتعريف الواجهة:
الوظيفة العامة النوم();}
}الوظيفة العامة النوم () {
}
}
في هذا المثال ، تنفذ فئة "الكلب" واجهة "الحيوان" وتنفذ كلتا الطريقتين: "أكل ()"و" النوم ()".
باستخدام واجهات في فب يسمح لنا لتحديد الأساليب المشتركة وتتطلب تنفيذها في الطبقات. يتيح لنا ذلك إنشاء كود أكثر تنظيما ويسهل العمل مع الفصول الدراسية في المستقبل.
استخدام واجهات في فب
واجهات في فب هي وسيلة لتحديد الأساليب الشائعة التي يجب أن تنفذ فئة. إنها تسمح لك بإنشاء كود أكثر مرونة ومرونة ، حيث يمكن للفئات تنفيذ واجهات متعددة في نفس الوقت.
لإنشاء واجهة في بي إتش بي ، يتم استخدام الكلمة واجهة
. ثم يتم تحديد الطرق اللازمة ، والتي ينبغي تنفيذها في الفصل.
مثال على تعريف الواجهة:
واجهة الحيوان {
الوظيفة العامة أكل();
الوظيفة العامة النوم();
}
يتم استخدام الكلمة الرئيسية لتنفيذ الواجهة في الفصل
الأدوات
. يجب على الفصل تنفيذ جميع الطرق المعلنة في الواجهة.
فئة القط تنفذ الحيوان {
الوظيفة العامة أكل () {
// تنفيذ طريقة الأكل لفئة القط
}
الوظيفة العامة النوم () {
// تنفيذ طريقة النوم لفئة القط
}
}
بعد تنفيذ واجهة في فئة ، يمكنك إنشاء كائنات من هذه الفئة واستخدام الأساليب المعلنة في الواجهة.
يتيح لك استخدام الواجهات ضمان التوحيد في الكود ويسمح لك بإنشاء فئات يمكنها التفاعل مع بعضها البعض دون الحاجة إلى معرفة التنفيذ الداخلي.
يمكن أيضا توريث الواجهات عن بعضها البعض. يجب أن تضيف الواجهة الموروثة طرقا جديدة أو تغير توقيعات الطريقة للواجهة الأصلية.
واجهة الثدييات يمتد الحيوان {
الوظيفة العامة تعطيالولادة();
}
فئة القط تنفذ الثدييات {
الوظيفة العامة أكل () {
// تنفيذ طريقة الأكل لفئة القط
}
الوظيفة العامة النوم () {
// تنفيذ طريقة النوم لفئة القط
}
الوظيفة العامة جيفيبيرث () {
// تنفيذ طريقة جيفيبيرث لفئة القط
}
}
يتيح لك استخدام وراثة الواجهة إنشاء تسلسل هرمي للواجهات ، مما يبسط تنظيم الكود.
تنفيذ واجهات في فب
في فب ، واجهات تسمح لك لتحديد العقد الذي يجب أن تنفذ فئة. إنهم يحددون فقط توقيعات الأساليب ، ولكن ليس تنفيذها. يجب تنفيذ جميع الطرق المعلنة في الواجهة في الفئات التي تنفذ الواجهة.
من أجل تنفيذ واجهة ، يجب على الطبقة استخدام الكلمة تنفذ. في هذه الحالة ، يجب تعريف جميع الطرق من الواجهة في الفصل ولها نفس التوقيعات.
على سبيل المثال:
واجهة للطباعة {
طباعة الوظيفة العامة();
}
كتاب فئة تنفذ للطباعة {
وظيفة عامة طباعة () {
صدى " طباعة كتاب...";
}
}
في هذا المثال ، تقوم فئة الكتاب بتنفيذ الواجهة القابلة للطباعة لأنها تحدد طريقة الطباعة () بنفس التوقيع المعلن في الواجهة.
إذا لم ينفذ الفصل جميع الطرق المعلنة في الواجهة ، فسيتم طرح استثناء. ومع ذلك ، يمكن للفئات تنفيذ واجهات متعددة في نفس الوقت عن طريق تحديدها مفصولة بفواصل بعد تنفيذ الكلمة الرئيسية.
على سبيل المثال:
واجهة للطباعة {
طباعة الوظيفة العامة();
}
- واجهة للتصدير{
- تصدير الوظائف العامة ();
- }
- وثيقة فئة تنفذ للطباعة ، للتصدير {
وظيفة عامة طباعة () {
صدى " طباعة مستند...";
}
تصدير الوظيفة العامة () {
صدى " تصدير وثيقة...";
}
}
في هذا المثال ، تقوم فئة المستند بتنفيذ واجهتين: قابلة للطباعة وقابلة للتصدير. يجب أن تحدد وتنفذ جميع الطرق المحددة في كلا الواجهتين.