Your PHP skills tool showed me were I needed to improve and how to do it! "وأظهرت أداة لديك مهارات PHP كان معي وكنت بحاجة الى تحسين وكيفية القيام بذلك!"
توم

واجهات

PHP يسمح تعريف واجهات الكثير في بنفس الطريقة لغات مثل جافا و C #.

واجهة هو عقد أن الطبقة تنفيذ يجب أن تتبع. ولذلك يجب من أجل لثابت أو وظيفة من واجهة إلى أن ينظر إليها من قبل فئات أخرى بذل كل الثوابت أو الوظائف العامة.

واحد من السبب الرئيسي وتستخدم واجهات هو أنه توقف عن مشكلة وراثة متعددة. في وراثة متعددة إذا وتمتد الطبقة فئتين مع نفس الأسلوب لن تعرف أي أن يرث.

باستخدام واجهات PHP تسمح واجهات متعددة ولكن ليس وراثة متعددة. إذا فئة تنفذ واجهات اثنين مع نفس الأسلوب سوف رمي خطأ.

ليس وظيفة في واجهة تنفذ في الواقع بدلا من ذلك هو عقد، وبالتالي فإن الطبقة تنفيذ يجب أن يكون له وظيفة من نفس التوقيع مع نفس العدد من المعلمات.

وخلافا لبعض اللغات الأخرى PHP يسمح لك لوضع الثوابت في واجهة التي يمكن أن تكون وسيلة مفيدة جدا لتبادل الثوابت بين الطبقات.

يتم تعريف واجهات على النحو المبين أدناه.

واجهة IPage
{
setHtml ( $ html ) ; جمهور setHtml وظيفة ($ أتش تي أم أل)؛
getHtml ( ) ; جمهور getHtml وظيفة ()؛
}
ويمكن تنفيذ ذلك من خلال فئة كما هو موضح.
StartPage implements IPage فئة StartPage تنفذ IPage
{
html = ' ' ; خاصة $ HTML = ''؛

setHtml ( $ html ) جمهور setHtml وظيفة ($ HTML)
{
this - > $ html = $ html ; دولار هذا -> $ $ HTML = HTML؛
}

getHtml ( ) جمهور getHtml وظيفة ()
{
$ html ; العودة دولار HTML؛
}
}
إذا لم يكن لتنفيذ وظيفة التي أعلن عنها في واجهة ثم سيقوم المترجم PHP الخطأ. ويمكن أن تمتد لتشمل أيضا واجهة الواجهات الأخرى على النحو المبين أدناه.
واجهة IPage
{
setHtml ( $ html ) ; جمهور setHtml وظيفة ($ أتش تي أم أل)؛
getHtml ( ) ; جمهور getHtml وظيفة ()؛
}

IPage واجهة IWebPage يمتد IPage
{
" Website name - " ; CONST TitleStart = "اسم الموقع -"؛
}
حتى الآن فإن IWebPage فئة المنفذين لديها الآن لتنفيذ كل ما من IWebPage وIPage.

لا وقدمت تعليق.
أمن صورة
كتبه الدباغ دومينيك
آخر تحديث: 2011/10/25 16:00:38