الواجهة، كشف حساب
يقوم بتعريف اسم واجهة، بالإضافة إلى الخصائص و الأساليب التي تقوم بتكوين الواجهة.
[modifiers] interface interfacename [implements baseinterfaces] {
[interfacemembers]
}
الوسيطات
معدلات
اختياري. المعدلات التي تتحكم في رؤية وسلوك خاصية.interfacename
مطلوبة. الاسم interface; يتبع قياسي متغير تسمية اصطلاحات.التنفيذات
اختياري. كلمة أساسية تشير إلى التي تطبق الواجهة المسماة، أو قم بإضافة الأعضاء إلى واجهة معرفة مسبقاً. إذا كان هذا كلمة أساسية هو الاستخدام، يتم تاريخ الإنشاء واجهة أساسية JScript قياسية.baseinterfaces
اختياري. قائمة مفصولة بفواصل لأسماء الواجهة الذي يتم تطبيق بواسطة interfacename .interfacemembers
اختياري. interfacemembersيمكن أن تكون أما تصريحات أسلوب (المعرفة كشف دالة ) أو تعريفات خاصية (المعرفة مع يحصل وظيفة و تعيين دالة عبارات ).
ملاحظات
بناء جملة interfaceالتعريفات في JScript هو تشبه تصريحات فئة . واجهة هو فئة في كل عضو التي هو مجردة ؛ أن يحتوي فقط على تعريفات خاصية وأسلوب بدون نصوص دالة. interfaceقد لا يحتوي على تعريفات الحقول أو تعريفات مهيئ الفئة المتداخلة تصريحات. interfaceتطبيق واحد أو أكثر الواجهات باستخدام الأساسية يطبق.
قد على فئة بتوسيع الفئةالأساسية واحد فقط ، ولكن قد تطبق على فئة العديد من الواجهات . يسمح نموذج لتوريث متعددة أبسط من لغات غير ذلك موجهة للكائن، على سبيل المثال، في C + + مثل تنفيذ عدة الواجهات بعلي فئة .
مثال
توضح التعليمة البرمجية التالية تطبيق طريقة واحدة يمكن وراثة قبل عدة واجهات.
interface IFormA {
function displayName();
}
// Interface IFormB shares a member name with IFormA.
interface IFormB {
function displayName();
}
// Class CForm implements both interfaces, but only one implementation of
// the method displayName is given, so it is shared by both interfaces and
// the class itself.
class CForm implements IFormA, IFormB {
function displayName() {
print("This the form name.");
}
}
// Three variables with different data types, all referencing the same class.
var c : CForm = new CForm();
var a : IFormA = c;
var b : IFormB = c;
// These do exactly the same thing.
a.displayName();
b.displayName();
c.displayName();
The إخراج of this برنامج هو:
This the form name.
This the form name.
This the form name.