java, آموزش قدم به قدم جاوا, جاوا, شی گرایی در جاوا

interface در جاوا (implements interface in java)

interface در جاوا

در این قسمت تیم کدگیت را با آموزش interface در جاوا همراهی کنید. پیش نیاز این آموزش شامل موارد زیر است:

  1. آشنایی با شی گرایی
  2. آشنایی با کلاس استاتیک
  3. آشنایی با ارث بری
  4. آشنایی با متد
  5. آشنایی با انواع ارث بری در جاوا

Interface در جاوا

ما در آموزش های گذشته در مورد کلاس های abstract صحبت کردیم. در این نوع کلاس ها میتوانستیم متدهای abstract و غیر abstract در آن استفاده می‌کنیم. کلاسهای abstract را به اصطلاح میگویند انتزاع جزئی (partial abstraction). برای رسیدن به انتزاع کامل (Full abstraction) باید از interface در جاوا را استفاده کرد.

Interface چیست؟

Interface مکانیزمی برای رسیدن انتزاع کامل در جاوا است و در آن فقط میتوان متد abstract نوشت که بدنه (body) نداشته باشد! همچنین متغیرهایی که در interface تعریف میشوند همه آنها سه قابلیت زیر را دارند:

  1. همه آنها public هستند.
  2. همه آنها static هستند.
  3. همه آنها final هستند.

چرا interface ؟

در این جا به طور خلاصه و مفید در مورد دلایل استفاده از interface در جاوا صحبت میکنیم. سه دلیل وجود دارد برای استفاده از interface که شامل:

  1. پشتیبانی از انتزاع کامل (Fully Abstraction).
  2. با interface میتوانیم ارث بری چندگانه را استفاده کنیم.
  3. با interface ما میتوانیم میزان وابستگی را کم کنیم(loose coupling).

ارتباط کلاس با interface

در آموزش‌های قبل در مورد ارث بری در جاوا صحبت شد و اینکه یک کلاس میتواند یک کلاس دیگر را extends کند. اما ارتباط کلاس و interface بدین صورت نیست و هر کلاس میتواند یک یا چندین interface را implements کند. با این کار کلاس ما موظف میشود تمام متدهای که در interface تعریف شده و بدون بدنه هستند را پیاده سازی کامل کند. نکته آخر اینکه همانند کلاس interface ها هم میتوانند همدیگر را extends کنند.

مثال interface در جاوا

ما یک interface داریم به نام printable که کلاس A6 آن را implements کرده است. Interface ما یک متد به نام print دارد. پس کلاس A6 باید متد print داشته باشد. کد آن به صورت زیر است:

public interface Printable {

     int Min = 5;
     void print(); 

}
public class A6 implements Printable{

     public static void main(String[] args) {
          A6 a = new A6();

          a.print();

     }

     @Override
     public void print() {
          System.out.println("CodeGate");

     }

}

مثال ارث بری چندگانه

همانطور که گفتیم ارث بری چندگانه در جاوا با interface پیاده سازی میکنند. در این قسمت ما دو interface به نام printable و showable تعریف کردیم که به ترتیب دو متد به نام print و show دارند. کلاس A7 این دو interface را implements میکند. با این کار با ارث بری چندگانه را پیاده سازی کرده ایم.کد آن به صورت زیر است:

public interface Printable {
     void print();
}

public interface Showable {
     void show();
}

public class A7 implements Printable,Showable{

     public static void main(String[] args) {
          A7 a = new A7();
          a.print();
          a.show();

     }

     @Override
     public void show() {
          System.out.println("Team");

     }

     @Override
     public void print() {
          System.out.println("CodeGate");

     }

}

مثال ارث بری interface در جاوا

همانند کلاس،  interface ها نیز میتوانند یکدیگر را extends کنند. ما دو interface به نام printable و showable تعریف کردیم. Showable از printable ارث بری میکند. کد آن به صورت زیر است:

public interface Showable extends Printable{
     void show();
}

public interface Showable extends Printable{
     void show();
}

public class interfaceinheritence implements Showable{

     public static void main(String[] args) {
          interfaceinheritence temp = new interfaceinheritence();
          temp.print();
          temp.show();

     }

     @Override
     public void print() {
          System.out.println("CodeGate");

     }

     @Override
     public void show() {
          System.out.println("Team");

     }

}

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *