مقالات تخصصی برنامه نویسی اندروید

اموزش برنامه نویسی اندروید

مقالات تخصصی برنامه نویسی اندروید

اموزش برنامه نویسی اندروید

  • ۰
  • ۰

Interface در جاوا

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

 

Interface چیست؟

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

همه آنها public هستند.

همه آنها static هستند.

همه آنها final هستند.

چرا interface ؟

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

 

Interface چیست؟

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

همه آنها public هستند.

همه آنها static هستند.

همه آنها final هستند.

چرا interface ؟

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

پشتیبانی از انتزاع کامل (Fully Abstraction).

با interface میتوانیم ارث بری چندگانه را استفاده کنیم.

با interface ما میتوانیم میزان وابستگی را کم کنیم(loose coupling).

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

 

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

 

 

مثال interface در جاوا

 

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

 

    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");

 

     }

 

}

 

 

 

  • ۹۹/۰۲/۲۶
  • vahid hasani

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی