آموزش مقدماتی جاوا | Interface
خطای دسترسی
برای ثبت پاسخ، ابتدا باید در سایت وارد شوید.
Interface ها
یک روش دیگر برای تحقق مدل چکیدگی در جاوا، استفاده از interface هاست.
یک interface مشابه همان کلاس abstract است که فقط متد های با بدنه ی خالی در آن استفاده می شود:
// interface
interface Animal {
public void animalSound(); // interface method (does not have a body)
public void run(); // interface method (does not have a body)
}
برای دسترسی به متدهای یک interface، باید یک کلاس دیگر داشته باشیم که به صورتی شبیه به وراثت از این interface به ارث ببرد. برای ارث بری ار interface ها به جای کلمه extends از implements استفاده می کنیم. بدنه ی متد های interface در این کلاس جدید ساخته می شوند.
// 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();
}
}
نکاتی در مورد interface ها:
- همانند کلاس های abstract، از روی interface ها نیز نمی توان اشیائی ساخت. در مثال بالا، در کلاس MyMainClass نمی توان شیئی از کلاس Animal ساخت.
- متد های درون interface بدنه ای ندارند و بدنه ی آنها در کلاس implement ساخته می شود.
- در ارث بری از interface ها، همه ی متد ها باید دوباره تعریف شوند.
- متد های interface یه صورت پیش فرض abstract و public هستند
- ویژگی های interface به صورت پیش فرض static، public و final هستند
- از آنجایی که نمی توان از روی interface ها شیئی ساخت، در نتیجه یک interface نمی تواند متد constructor داشته باشد
برای ثبت پرسش ابتدا در سایت وارد شوید.