خلاصه مطلب
آموزش رایگان interface یکی از مباحث مهم شی گرایی در زبان برنامه نویسی جاوا

لیست دوره های آکادمی جاوا پرو
دوره پرتاب | آموزش پیش نیازهای قبل از شروع برنامه نویسیدوره مقدماتی زبان برنامه نویسی جاوادوره جامع شاهکار پیشرفته جاوادوره جامع طلایی Spring Coreدوره آموزش فریمورک Spring Bootدوره پروژه محور Spring Boot - سیستم دانشگاهدوره جامع دژبان Spring securityدوره جامع نخبگان معماری میکروسرویس با Java و Spring Boot🔍 موضوع -> interface در جاوا
اینترفیس در جاوا یکی از مفاهیم اصلی برنامهنویسی شیءگرا است که به برنامهنویسان اجازه میدهد تا قراردادهای عمومی را تعریف کنند که کلاسهای مختلف باید از آنها پیروی کنند. اینترفیسها شامل مجموعهای از متدهای انتزاعی هستند که بدون پیادهسازی تعریف میشوند. کلاسهایی که یک اینترفیس را پیادهسازی میکنند، موظف به ارائه پیادهسازی برای تمامی متدهای تعریفشده در آن اینترفیس هستند.
🌟 کاربردهای اینترفیس در جاوا ایجاد استانداردها: اینترفیسها استانداردهایی برای کلاسها تعریف میکنند که همهی کلاسهای پیادهساز باید رعایت کنند. پشتیبانی از چندریختی: با استفاده از اینترفیسها میتوان از مفاهیم چندریختی (Polymorphism) در جاوا بهره برد. بهاینترتیب، میتوان از یک مرجع (مانند یک متغیر یا پارامتر) برای انواع مختلفی از اشیاء استفاده کرد. کاهش وابستگی: اینترفیسها به کاهش وابستگی بین کلاسها کمک میکنند. این باعث میشود که تغییر در یک کلاس، نیاز به تغییر در دیگر کلاسها را کاهش دهد.
💡 معرفی یک اینترفیس کاربردی: Comparable یکی از اینترفیسهای پرکاربرد در جاوا، Comparable است. این اینترفیس یک متد به نام compareTo دارد که برای مقایسه دو شیء از یک کلاس مورد استفاده قرار میگیرد.
| public interface Comparable { int compareTo(T o); } |
📚 مثال: پیادهسازی اینترفیس Comparable در کلاس Person فرض کنید یک کلاس Person داریم که شامل نام و سن است. میخواهیم این کلاس قابل مقایسه باشد تا بتوانیم افراد را بر اساس سن مقایسه و مرتب کنیم.
| public class Person implements Comparable { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } @Override public int compareTo(Person other) { return Integer.compare(this.age, other.age); } @Override public String toString() { return name + " (" + age + ")"; } } |
📌 در این مثال، متد compareTo افراد را بر اساس سن آنها مقایسه میکند. حال میتوانیم لیستی از افراد ایجاد کرده و آنها را مرتب کنیم:
| import java.util.*;public class Main { public static void main(String[] args) { List people = new ArrayList(); people.add(new Person("Ali", 30)); people.add(new Person("Sara", 25)); people.add(new Person("Reza", 35)); Collections.sort(people); for (Person person : people) { System.out.println(person); } } } |
خروجی:
| Sara (25) Ali (30) Reza (35) |
در اینجا، افراد بر اساس سنشان مرتب شدهاند که این کار به لطف پیادهسازی اینترفیس Comparable در کلاس Person انجام شده است.
📜 نتیجهگیری: اینترفیسها در جاوا یکی از ابزارهای قدرتمند برای تعریف قراردادهای عمومی و استانداردسازی پیادهسازیها در کلاسهای مختلف هستند. این قابلیت به بهبود ساختار و انعطافپذیری کد کمک شایانی میکند.

