أعددت هذا الموضوع كشرح بسيط ، نشاهد فيه interface اسمها vehicle وهذه تنقسم إلى سيارة CAR أو دراجة Vehicle وكل class تحتوي عل بيانات مثل اللون والطراز والبلد المصنعة فيه.
دعونا أولا نشاهد ال interface
public interface Vehicle {
public int getWheelsNumber();
public String getColor();
public String getModel();
public String getCountry();
}حيث نلا حظ هنا مجموعة من الدوال methods كل واحدة لها وظيفة حيث تعمل على ارجاع قيمة معينة.
ملاحظة في أي interface لا نقوم بعمل انشاء لأي دالة ولكن فقط نقوم بتسميتها وتحديد القيمة التي ستأخذها والقيمة التي سترجعها.
اآن سنشاهد ال class الخاصة بالـسيارة CAR
public class CAR implements Vehicle{
String color="",country="",model="";
int cylindersNumber=0;
/** Creates a new instance of BMW */
public CAR() {
color="red";
country="Germany";
model="m1";
cylindersNumber=4;
}
public CAR(String col, String mod, String count) {
color =col;
model = mod;
country =count;
}
public String getColor() {
return color;
}
public String getCountry() {
return country;
}
public String getModel() {
return model;
}
public void setColor(String a) {
color =a;
}
public int getWheelsNumber() {
return 4;
}
}نلاحظ هنا تعريف مجموعة من البيانات التي سيتم استخدامها، عندما نقوم باستدعاء ال constructor وهو فارغ سيتم عمل قيم ابتدائية، ولكن عندما نقوم باعطائه قيم فإنا سنحدد بيانات السيارة مثل لونها وطرازها إلخ..
الدالة الأخيرة تقوم بإرجاع عدد العجلات للسيارة ، حيث تقوم بارجاعة 4 مباشرة
الآن بالنسبة للكود التالي هو عبارة عن كود دراجة وهو مشابه تماما لكود السيارة ولكنه يرجع عدد العجلات = 2 وهذا هو الفرق الوحيد.
/*
* Bicycle.java
*
* Created on May 18, 2006, 5:16 PM
*/
/**
*
* @author Hadi
*/
public class Bicycle implements Vehicle{
String color="",country="",model="";
int cylindersNumber=0;
public Bicycle() {
String color="",country="",model="";
}
public Bicycle(String col, String mod, String count) {
color =col;
model = mod;
country =count;
}
public String getColor() {
return color;
}
public String getCountry() {
return country;
}
public String getModel() {
return model;
}
public int getWheelsNumber() {
return 2;
}
}أرجو أن أكون قد أوضحت
بعض الأخوات قامت بطرح سؤال تطلب فيه عمل interface باسم shape وترثها أشكال مثل المستطيل والدائرة والمربع ، وتقوم بارجاع بيانات مثل المساحة والمحيط
الآن أن أحول السؤال وأطلب منها أن تقوم بفهم الالموضوع وتقوم بعمل interface باسم shape تحتوي على بيانات width و height وتقوم بعمل دوال لارجاع قيم الطول والعرض ، بالاضافة إلى دالة تقوم بارجاع المساحة والمحيط ( الدالتين الأخيرتين يعتمدان على معادلة حسابية تستخدم قيم الطول والعرض )
ملاحظة للحصول على قيمة ط
double x = Math.PI;
مع ملاحظة أن المساحة لا تكون int بل تكون double
يمكن طرح الأسئلة هنا