{CodeGate}

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

در این قسمت تیم کدگیت را با آموزش 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 در جاوا

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

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

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

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

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

پسورد: www.codegate.ir

 

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

دیدگاه بگذارید

نظر شما چیست؟

مطلع کردن شما از
avatar

wpDiscuz