آشنایی با مفهوم اینترفیس

آشنایی با مفهوم اینترفیس

در زبان‌های برنامه نویسی شیء گرا، در کنار مفهوم وراثت، می بایست با مفهوم دیگری تحت عنوان اینترفیس نیز آشنا شویم که بسیار پر کاربرد است. باتوجه به این که واژه ی اینترفیس در دنیای کامپیوتر و آی تی دارای معانی مختلفی است و کاربردهای فراوانی نیز دارد، ممکن است برنامه نویسان مبتدی در درک مفهوم آن کمی دچار سردرگمی شوند. به طور مثال، ما چیزی داریم تحت عنوان User Interface که به همان رابط کاربری نرم‌افزار یا اپلیکیشن که کاربران با آن تعامل می‌کنند اطلاق می‌شود اما در برنامه نویسی شیء گرایی، اینترفیس به نوعی از کلاس‌ها گفته می‌شود که هیچ گونه عملکردی نداشته و صرفاً برای ذخیره سازی تعدادی متد مورد استفاده قرار می گیرند:

public interface Vehicle {

    void startEngine();
}

همان‌طور که در کد فوق ملاحظه می شود، در زبان برنامه نویسی جاوا به جای کلیدواژه ی class از کلیدواژه ی interface استفاده شده سپس نامی همچون Vehicle به معنی «وسیله ی نقلیه» برای آن در نظر گرفته ایم (همچون نام کلاس ها، نام اینترفیس ها نیز می بایست با حرف بزرگ شروع شوند.) سپس یک متد داخل آن قرار داده‌ایم تحت عنوان ()startEngine که دارای هیچ گونه Functionality یا «عملکردی» نمی باشد. در واقع، ما اصلاً اجازه نداریم تا برای متدهای قرار گرفته داخل اینترفیس عملکردی تعریف کنیم.

حال ممکن است این سؤال برای شما پیش بیاید که با توجه به این که اینترفیس ها هیچ گونه عملکردی ندارند، فایده ساخت یک اینترفیس چیست؟ در‌ واقع زمانی که ما از اینترفیس ها استفاده می کنیم، گویی به برنامه ی خود قول می‌دهیم که حتماً در کلاسی که از آن اینترفیس خاص استفاده می شود، از کلیه ی متدهای قرار گرفته داخل آن اینترفیس استفاده خواهیم کرد. برای روشن‌تر شدن این مطلب، ابتدا مثالی از اینترفیس ها در زبان برنامه نویسی جاوا می زنیم:

class Car implements Vehicle {
	
    public void startEngine() {
        return "Start!";
    }
}

همان‌طور که در کد فوق ملاحظه می شود، ابتدا کلیدواژه ی class را نوشته سپس نام کلاس که Car است را نوشته ایم. برای آن که کلاس ما بتواند از اینترفیسی تحت عنوان Vehicle تبعیت کند، از کلیدواژه ای تحت عنوان implements استفاده نموده و در نهایت هم نام اینترفیس که در اینجا Vehicle است را آورده ایم. از آنجا که قول داده‌ایم تا در این کلاس حتماً متدی تحت عنوان ()startEngine داشته باشیم، پس چنین کلاسی را تعریف کرده که خروجی آن، return کردن استرینگی تحت عنوان !Start است. برای نشان دادن اینترفیس ها در یو ام ال نیز از ساختار زیر می توان استفاده نمود:

همان طور که در تصویر فوق مشخص است، برای نمایش دادن اینترفیس ها در یو ام ال، از کلیدواژه ی Interface داخل علامت های « » استفاده کرده سپس نام اینترفیس را پایین آن می نویسیم و کلاسی هم که از آن اینترفیس تبعیت می کند را با علامت پیکان از سمت کلاس به اینترفیس مشخص می سازیم.

8-1
مقدمه‌ای بر شیء گرایی
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
8-2
آشنایی با مفهوم آبجکت یا شیء در برنامه نویسی شیء گرا
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
8-3
آشنایی با مفهوم کلاس در زبان‌های برنامه نویسی شیء گرا
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
8-4
آشنایی با چهار اصل برنامه نویسی شیء گرا
بهزاد مرادی
۱۳۹۷/۱۰/۱۹
8-5
آشنایی با یو ام ال
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
8-6
تبدل یو ام ال به یک کلاس واقعی
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
8-7
وراثت در زبان‌های برنامه نویسی شیء گرا
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
8-8
آشنایی با مفهوم اینترفیس
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
8-9
آشنایی با مفهومی تحت عنوان دیزاین پترن در برنامه نویسی شیء گرایی
بهزاد مرادی
۱۳۹۷/۱۰/۲۷
8-10
آشنایی با دیزاین پترنی تحت عنوان سینگلتون
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
8-11
آشنایی با برخی قوانین برنامه نویسی
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
8-12
آشنایی با قوانین پنج‌گانهٔ SOLID
بهزاد مرادی
۱۳۹۷/۱۰/۲۷
8-13
آشنایی با قوانین GRASP در برنامه نویسی شیء گرایی
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
rocket
نظرات
اگر login نکردی برامون ایمیلت رو بنویس: