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

لیست دوره های آکادمی جاوا پرو
🔍 موضوع -> 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 انجام شده است.
📜 نتیجهگیری:اینترفیسها در جاوا یکی از ابزارهای قدرتمند برای تعریف قراردادهای عمومی و استانداردسازی پیادهسازیها در کلاسهای مختلف هستند. این قابلیت به بهبود ساختار و انعطافپذیری کد کمک شایانی میکند.

