menusearch
javapro.ir

♨️ جلسه بیست و هفتم - اینترفیس (Interface)

جستجو
پنج شنبه ۱ آذر ۱۴۰۳ | ۱۳:۵۷:۶
۱۳۹۵/۱۱/۳ یکشنبه
(7)
(0)
♨️ جلسه بیست و هفتم - اینترفیس (Interface)
♨️ جلسه بیست و هفتم -  اینترفیس (Interface)

فهرست جلسات دوره مقدماتی جاوا

مقدمه اول | جاوا چیست؟

مقدمه دوم | تاریخچه جاوا

مقدمه سوم | ویژگی‌های زبان جاوا

جلسه اول | راهنمای دانلود و نصب JDK

جلسه دوم | اجرای یک برنامه جاوا در Notepad

جلسه سوم | راهنمای دانلود و نصب Eclipse

جلسه چهارم | ساخت اولین برنامه جاوا در Eclipse

جلسه پنجم | متغیر ها در جاوا

جلسه ششم | تغییر فونت محیط Eclipse

جلسه هفتم | عملگر‌های پایه ای جاوا

جلسه هشتم | دستورات شرطی

جلسه نهم | اشیا و کلاس ها

جلسه دهم | ورودی گرفتن

جلسه یازدهم | حلقه‌های کنترلی

جلسه دوازدهم | کلمه کلیدی static

جلسه سیزدهم | کلاس Math

جلسه چهاردهم | کلاس String

جلسه پانزدهم | آرایه‌های یک بعدی

جلسه شانزدهم | کنترل سطح دسرسی (Modifiers)

جلسه هفدهم | متدها در جاوا

جلسه هجدهم | کلمه کلیدی this

جلسه نوزدهم | کلاس‌های داخلی

جلسه بیستم | ارث بری در جاوا

جلسه بیست و یکم | کلمه کلیدی final

جلسه بیست و دوم | Overriding در جاوا

جلسه بیست و سوم | Polymorphism( چند ریختی)

جلسه بیست و چهارم | چندریختی را بهتر یادبگیرید

جلسه بیست و پنجم | Abstraction( انتزاع)

جلسه بیست و ششم | Encapsulation(کپسوله سازی)

جلسه بیست و هفتم | اینترفیس (Interface)

جلسه بیست و هشتم | کلاس Random

جلسه بیست و نهم | Exceptions (استثناها)

جلسه سی ام | کار با فایل در جاوا(Files and I/O)

جلسه سی و یکم | کلاس InputStreamReader

جلسه سی و دوم | کلاس OutputStreamWriter

جلسه سی و سوم | کلاس BufferedReader

جلسه سی و چهارم | کلاس BufferedWriter

جلسه سی و پنجم | Serialization در جاوا

جلسه سی و ششم | چندنخی(Multithreading)

جلسه سی و هفتم | آرایه دو بعدی در جاوا

جلسه سی و هشتم | کلاس ArrayList در جاوا

جلسه سی و نهم | Non Access Modifier در جاوا

 

دوره رایگان مقدماتی زبان جاوا

 

اگه میخوای موارد زیر از جاوا رو بدونی جلسه بیست و هفتم رو دانلود کن


اینترفیس(Interface)


اینترفیس چیست؟


نحوه پیاده سازی یک اینترفیس


خصوصیاتی که یک اینترفیس باید داشته باشد


پیاده سازی اینترفیس در کلاس


نحوه نوشتن پیاده سازی اینترفیس در کلاس


قوانین پیاده سازی یک اینترفیس


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


وراثت چندگانه در اینترفیس


درک بهتر رابطه بین کلاس ها و اینترفیس


درک بهتر وراثت چندگانه توسط اینترفیس در جاوا


تمامی مفاهیم با مثال ساده توضیح داده شده است


اینترفیس چیست؟
اینترفیس مانند یک کلاس بنظر می‌رسد اما یک کلاس نیست!!! یک اینترفیس مثل کلاس می‌تواند متغیر و متد داشته باشد با این تفاوت که متدهای درون یک اینترفیس مثل متدهای کلاس abstract (انتزاعی) بدنه ندارند.یعنی متدهای یک اینترفیس دارای نوع، نام، پارامتر هستند اما بدنه ندارند.


در اینترفیس متغیرها می‌توانند public، static ،final، default اعلام و تعریف شوند.


تمامی متدهای درون اینترفیس بدون بدنه هستند.به عبارتی می‌توان گفت که اینترفیس ها مجموعه ای از متدهای abstract یا انتزاعی هستند.


نحوه پیاده سازی یک اینترفیس:
هنگام تعریف یک اینترفیس ابتدا از کلمه کلیدی interface استفاده می‌کنیم. بعد از کلمه کلیدی interface یک نام برای آن انتخاب کرده و با باز و بسته کردن آکولاد {} بدنه آن را تشکیل می‌دهیم.


•    می توانیم ابتدای کلمه کلیدی interface از کلمه کلیدی public نیز استفاده کنیم.


•    بهتر است نام اینترفیس با حروف بزرگ شروع شود.


•    روش تعریف اینترفیس شبیه به روش تعریف یک کلاس است با این تفاوت که بجای کلمه کلیدی class از کلمه کلیدی interface استفاده کرده ایم.


پس یک بار دیگر روش ایجاد یک اینترفیس را گام به گام مرور می‌کنیم:


1)    استفاده از کلمه کلیدی public

 

public


2)    استفاده از کلمه کلیدی interface

 

public interface


3)    تعیین نام برای اینترفیس

 

public interface Name


4)    استفاده از دو بلوک آکولاد باز و بسته به عنوان بدنه اینترفیس

 

public interface Name {

}


در زیر یک اینترفیس (interface) با نام Animal داریم:

 

public interface Animal {

}


حالا در زیر یک اینترفیس (interface) با نام Animal داریم که دو متد بدون بدنه در آن تعریف شده اند:

 

package interface_javalike;

public interface Animal {

   public void sleep ();

   public void eat();

}


در مثال زیر با خطای کامپایل برخورد می‌کنیم،زیرا در اینترفیس متدهای ما حق داشتن بدنه را ندارند:

 

اینترفیس در جاوا

 

شما می‌توانید مانند کلاس یک اینترفیس را در نرم افزار ایکلیپس با چند کلیک ایجاد کنید:


برای ایجاد یک اینترفیس در Eclipse به روش زیر عمل می‌کنیم:
ابتدا روی پکیج مورد نظر کلیک سمت راست کرده و گزینه new را انتخاب می‌کنیم: تصویر(1)

 

آموزش interface در جاوا

 

بعد از انتخاب گزینه new زیر شاخه جدیدی که باز می‌شود گزینه interface را انتخاب می‌کنیم: تصویر(2)

 

آموزش آسان interface در جاوا

 

بعد از انتخاب interface پنجره جدیدی تحت عنوان New Jave Interface باز می‌شود.که در این پنجره در بخش Name آن یک نام برای اینترفیس انتخاب کرده و دکمه Finish را می‌زنیم. تصویر(3)و(4)

 

دستور implements در جاوا

که در اینجا نام Car را برای اینترفیس انتخاب کرده ایم و سایر گزینه ها را به حالت پیشفرض قرار داده و در پایان دکمه Finish را می‌زنیم: تصویر (4)

 

آموزش اینترفیس در جاوا

 

نتیجه این مراحل در ایکلیپس ایجاد یک interface با نام Car است: تصویر (6)

 

ساخت اینترفیس در جاوا

 

راه دوم و سریع تر این هست که از میان ابزارهای زیر منوبار گزینه ای که در تصویر نشان داده ایم را انتخاب کرده و مانند مراحل قبل اینترفیس را نام گذاری کرده و دکمه finish را بزنیم:تصویر(7) و(8)

 

آموزش شی گرایی در جاوا

 

سایر مراحل بعدی نیز مانند روش اول است.


•    پس کلا روش ایجاد یک اینترفیس شبیه به روش ایجاد یک کلاس هست با این تفاوت که کلمه کلیدی آنها متفاوت است.


خصوصیاتی که یک اینترفیس باید داشته باشد:


1.    تمامی متدهای درون اینترفیس بدون بدنه و انتزاعی هستند و نیازی نیست که با کلمه کلیدی abstract این متدها را انتزاعی اعلام کنید.


2.    بهتر است که متدهای درون اینترفیس را public اعلام کنیم.

 

public interface Animal {

   public void sleep ();

   public void eat();
   public void run();

}


تا اینجا با نحوه ایجاد اینترفیس در جاوا آشنا شدیم.حالا اینترفیس چه استفاده هایی داره؟! ما در کلاس های خود می‌توانیم از اینترفیس ها استفاده کنیم.به عبارتی می‌توانیم اینترفیس ها را در کلاس خود پیاده سازی کنیم.خب چطوری؟!!! اصلا اینترفیس چه کاربردی در کلاس هامون داره؟!!!


اینترفیس حکم یک نقشه را برای کلاس ما دارد همان طور که در نقشه ساختمانی که روی کاغذ رسم شده است حاوی اطلاعات ساختمانی هست که قرار است پیاده سازی و ایجاد شود و پیمانکاران و مهندسان و.... بلااجبار باید مو به مو فونداسیون و تعداد اتاق ها و سالن پذیرایی و... را اجرا کنند.


اینترفیس نیز حکم نقشه ای را دارد که اگر به کلاسی بدهیم آن کلاس موظف است مو به مو تمامی رفتارهایی که اینترفیس دارد را در بدنه خود پیاده سازی کند.


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


پیاده سازی اینترفیس در کلاس:
وقتی که یک کلاس یک اینترفیس را در خود پیاده سازی میکند، می‌تونیم تصور کنیم که کلاس قراردادی را به امضا رسانده است که موافقت کرده است که تمام رفتارها و متدهای اینترفیس را در بدنه خود اجرا کند.


پس اگر یک کلاس قصد داشت یک اینترفیس را در خود پیاده سازی کند بلاجبار باید تمامی متدهای اینترفیس را در بدنه خود پیاده سازی کند.
یک کلاس با استفاده از کلمه کلیدی implements می‌تواند یک اینترفیس (interface) را در خود پیاده سازی کند.


چطوری؟! به این صورت که هنگام تعریف کلاس، بعد از نام کلاس از کلمه کلیدی implementsاستفاده کرده و بعد از کلمه کلیدی implements نام اینترفیس مورد نظر را می‌آوریم.


نحوه نوشتن پیاده سازی اینترفیس در کلاس:

 

public class NameClass implements NameInterface {

   
   }


نحوه استفاده از اینترفیس شبیه به ارث بردن یک کلاس هست با این تفاوت که بجای کلمه کلیدی extends از کلمه کلیدی implements استفاده می‌کنیم.


همان طور که گفتیم بعد از پیاده سازی یک اینترفیس در یک کلاس تمامی متدهای اینترفیس باید در کلاس بلاجبار پیاده سازی شود.


مثال:
اینترفیس B که دو متد انتزاعی(تمامی متدهای درون اینترفیس انتزاعی هستند) بدون بدنه در آن تعریف کرده ایم:

 

package interface_javalike;

public interface B {

   public void print(String name);

   public int sum(int a, int b);

}


حال کلاس A اینترفیس B را پیاده سازی کرده است:


package interface_javalike;
public class A implements B {

   public void print(String name) {

   }
   public int sum(int a, int b) {

       return 0;
   }
}


همان طور که مشاهده می‌کنید تمامی متدهای اینترفیس B در کلاس A پیاده سازی و بازنویسی شده است.

 

 

....ادامه این جلسه آموزشی را می‌توانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.

 



این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)

آموزش آسان و ساده زبان برنامه نویسی جاوا
لینک دانلود

 

 


نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.
نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

1 نظر
سارا امینی
دوشنبه دوم فروردین ۰۰
پاسخ
(0)
(1)
سارا امینی
ممنون از آموزش گام به گام و عاليتون خسته نباشيد
پاسخ مدیر سایت
سلام.خواهش می‌کنم :)
پاسخ مدیر سایت
هدر سایت
بلک فرایدی آکادمی جاواپرو،50% تخفیف روی تمامی دوره های جاوا تا 10 آذر 1403
مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو  [کلیک کنید]
آموزش پروژه محور اسپرینگ بوت(Spring Boot)-سیستم دانشگاه
ثبت نام در دوره آموزش Spring security
دوره معماری میکروسرویس ها (Microservices) با استفاده از Spring Boot و Spring Cloud
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره آموزش مبانی زبان برنامه نویسی جاوا
دوره آموزش مفاهیم پیشرفته زبان برنامه نویسی جاوا
مقدمه ای از زبان برنامه نویسی جاوا(java)
آموزش زبان برنامه نویسی جاوا
آموزش گرافیک در زبان برنامه نویسی جاوا
آموزش مدیریت چیدمان گرافیکی در زبان جاوا
آموزش ساخت بازی دوبعدی در زبان جاوا
Collection ها در زبان برنامه نویسی جاوا
آموزش پروژه محور ساخت برنامه مدیریت بانک با JavaFX
نمونه پروژه های رایگان زبان جاوا
آموزش دیتابیس در زبان برنامه نویسی جاوا
نمونه مثال پایه ای زبان برنامه نویسی جاوا
نمونه مثال String در زبان برنامه نویسی جاوا
آموزش جامع برنامه نویسی JavaFX
آموزش ساخت برنامه آزمون تستی در JavaFX
آموزش برنامه نویسی سوکت در جاوا
آموزش ساخت برنامه دفترچه تلفن با JavaFX
آموزش ساخت ربات ساده تلگرام با زبان جاوا
آموزش ساخت برنامه ماشین حساب با JavaFX
آموزش ساخت برنامه ساده مدیریت ایمیل ها با JavaFX
دوره آموزش Spring Boot
سفارش انجام پروژه زبان برنامه نویسی جاوا(JAVA)
سفارش انجام پروژه برنامه نویسی متلب(MATLAB) با قیمت منصفانه و تحویل به موقع
سفارش انجام پروژه زبان برنامه نویسی سی شارپ (#C)
سفارش انجام پروژه زبان برنامه نویسی سی(C)
سفارش انجام پروژه زبان برنامه نویسی پایتون(Python)
سفارش انجام پروژه زبان برنامه نویسی PHP (پی اچ پی)
سفارش انجام پروژه زبان برنامه نویسی اسمبلی(Assembly)
سفارش انجام پروژه زبان برنامه نویسی جاوا اسکریپت (Javascript)
سفارش انجام پروژه هوش مصنوعی
سفارش انجام پروژه طراحی الگوریتم
سفارش انجام پروژه ساختمان داده ها
سفارش انجام پروژه مهندسی نرم افزار
سفارش انجام پروژه شبکه های کامپیوتری
سفارش انجام پروژه پایگاه داده: دیتابیس (database)
 سفارش انجام پروژه سیستم عامل
سفارش انجام پروژه پاورپوینت(PowerPoint)
سفارش انجام پروژه اکسل (Excel)
سفارش انجام تحقیق و تهیه مقاله
سوالات متداول برنامه نویسی
جدیدترین مطالب
گفتگو را شروع کنید
مشاوره ،تدریس خصوصی و سفارش انجام انواع پروژه های برنامه نویسی