تنفذ Java Keyword
مثال
هي interface
"فئة" مجردة تُستخدم لتجميع الطرق ذات الصلة بأجسام "فارغة":
للوصول إلى طرق الواجهة ، يجب "تنفيذ" الواجهة (كيندا مثل موروث) بواسطة فئة أخرى باستخدام implements
الكلمة الأساسية (بدلاً من extends
). يتم توفير نص طريقة الواجهة بواسطة فئة "التطبيق":
// interface
interface Animal {
public void animalSound(); // interface method (does not have a body)
public void sleep(); // interface method (does not have a body)
}
// Pig "implements" the Animal interface
class Pig implements Animal {
public void animalSound() {
// The body of animalSound() is provided here
System.out.println("The pig says: wee wee");
}
public void sleep() {
// The body of sleep() is provided here
System.out.println("Zzz");
}
}
class MyMainClass {
public static void main(String[] args) {
Pig myPig = new Pig(); // Create a Pig object
myPig.animalSound();
myPig.sleep();
}
}
التعريف والاستخدام
الكلمة الأساسية تستخدم implements
لتنفيذ ملف interface
.
تُستخدم interface
الكلمة الأساسية للإعلان عن نوع خاص من الفئات يحتوي فقط على طرق مجردة.
للوصول إلى طرق الواجهة ، يجب "تنفيذ" الواجهة (كيندا مثل موروث) بواسطة فئة أخرى باستخدام implements
الكلمة الأساسية (بدلاً من extends
). يتم توفير نص طريقة الواجهة بواسطة فئة "التطبيق".
ملاحظات على الواجهات:
- لا يمكن استخدامه لإنشاء كائنات (في المثال أعلاه ، لا يمكن إنشاء كائن "حيوان" في MyMainClass)
- لا تحتوي طرق الواجهة على جسم - يتم توفير الجسم بواسطة فئة "التنفيذ"
- عند تنفيذ الواجهة ، يجب تجاوز جميع أساليبها
- طرق الواجهة بشكل افتراضي
abstract
وpublic
- تكون سمات الواجهة بشكل افتراضي
public
وstatic
final
- لا يمكن أن تحتوي الواجهة على مُنشئ (حيث لا يمكن استخدامها لإنشاء كائنات)
لماذا ومتى تستخدم الواجهات؟
لتحقيق الأمان - قم بإخفاء تفاصيل معينة واعرض فقط التفاصيل المهمة للعنصر (الواجهة).
لا تدعم Java "الوراثة المتعددة" (يمكن للفئة أن ترث فقط من فئة عليا واحدة). ومع ذلك ، يمكن تحقيق ذلك باستخدام الواجهات ، لأن الفئة يمكنها تنفيذ واجهات متعددة. ملاحظة: لتنفيذ واجهات متعددة ، افصل بينها بفاصلة (انظر المثال أدناه).
واجهات متعددة
لتنفيذ واجهات متعددة ، افصل بينها بفاصلة:
مثال
interface FirstInterface {
public void myMethod(); // interface method
}
interface SecondInterface {
public void myOtherMethod(); // interface method
}
// DemoClass "implements" FirstInterface and SecondInterface
class DemoClass implements FirstInterface, SecondInterface {
public void myMethod() {
System.out.println("Some text..");
}
public void myOtherMethod() {
System.out.println("Some other text...");
}
}
class MyMainClass {
public static void main(String[] args) {
DemoClass myObj = new DemoClass();
myObj.myMethod();
myObj.myOtherMethod();
}
}
الصفحات ذات الصلة
اقرأ المزيد عن الواجهات في البرنامج التعليمي لواجهة Java .