implements
«implements در جاوا» یعنی «پیاده سازی interface». یعنی کلاست قول می دهد متدهای مشخصی را بسازد. مثل امضای قرارداد در مدرسه برای انجام وظایف.
implements یعنی پیاده سازی interface
«interface» قرارداد متدهای خالی است. «پیاده سازی (Implement)» یعنی بدنه آن متدها را در کلاس خودت بسازی.
- یک interface با متدهای بدون بدنه بساز.
- یک کلاس با کلیدواژه implements تعریف کن.
- همه متدهای interface را در کلاس پیاده سازی کن.
interface Animal {
public void animalSound();
public void sleep();
}
class Pig implements Animal {
public void animalSound() {
System.out.println("The pig says: wee wee");
}
public void sleep() {
System.out.println("Zzz");
}
}
class MyMainClass {
public static void main(String[] args) {
Pig myPig = new Pig();
myPig.animalSound();
myPig.sleep();
}
}
implements با چند interface همزمان
جاوا چندوراثت کلاسی ندارد؛ اما یک کلاس می تواند چند interface را پیاده سازی کند. فقط نام ها را با کاما جدا کن.
interface FirstInterface {
public void myMethod();
}
interface SecondInterface {
public void myOtherMethod();
}
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();
}
}
نکته: اگر شاخه رفتاری دارید، interface مناسب است. برای ارث بری از یک کلاس، از extends استفاده کن. تعریف خود interface را در interface ببین.
هشدار: وقتی implements می نویسی، باید همه متدهای interface را پیاده سازی کنی؛ وگرنه خطا می گیری.
جمع بندی سریع
- implements یعنی عمل کردن به قرارداد interface.
- بدنه متدها در کلاس نوشته می شود.
- می توانی چند interface را با کاما بنویسی.
- برای ارث بری از کلاس، از extends استفاده کن.