آموزش عبارات لامبدا در جاوا (Lambda Expression)،کاملا جامع


آموزش کامل عبارتهای لامبدا در زبان جاوا (Lambda Expression)
براي خريد اين درس نياز است وارد سايت شويد. در صورت نداشتن حساب کاربري عضو شويد.

آموزش کامل عبارتهای لامبدا در زبان جاوا (Lambda Expression)

عبارت‌های لامبدا خیلی مشابه متدها هستند و در این جلسه با نحوه تعریف و استفاده آن‌ها آشنا می‌شویم.

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

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

public interface MyInterface {

    void print(int num);

}

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

public static void main(String[] args) {

       MyInterface myInterface1=new MyInterface() {

           @Override

           public void print(int num) {

               System.out.println(num);

           }

       };

       myInterface1.print(300);

    }

خروجی

300

در بالا یک نمونه از اینترفیس MyInterface ساختیم و با استفاده از کلمه new توابع آن را override کردیم. حال می‌خواهیم با استفاده از لامبدا بدنه تابع را بنویسم. 

public static void main(String[] args) {

       MyInterface myInterface2=num-> System.out.println(num);

       myInterface2.print(400);

    }

خروجی

400

برای نوشتن لامبدا از ()-> استفاده می‌کنیم که به دو بخش تقسیم می‌شود سمت چپ کاراکتر -> ورودی تابع را مشخص می‌کنیم و سمت راست کاراکتر -> کاری که تابع انجام می‌دهد را می نویسیم.    

MyInterface myInterface2=(int num)-> System.out.println(num);

در بالا ورودی تابع int num است و بدنه تابع System.out.println(num) است. در لامبدا نیازی به تعیین نوع داده ورودی نیست و می‌توانیم به جای نوشتن (int num) از (num) استفاده کنیم. همچنین اگر ورودی تابع برابر یک مقدار بود می‌توانیم پرانتز را پاک کنیم.

نکته: اینترفیس هایی که قرار است به صورت لامبدا نوشته شوند نباید بیشتر از یک متد داشته باشند.

 

یک متد درون interface قرار دارد که 2 ورودی دریافت می‌کند و خروجی آن int است.

public interface MyInterface {

    void sum(int n,int m);

}

می‌خواهیم درون کلاس Main با استفاده از لامبدا بدنه متد sum را پیاده سازی کنیم.

MyInterface myInterface3=(x,y)-> x+y;

System.out.println(myInterface3.sum(30,40));

خروجی

70

در عبارت تک خطی لامبدا نیاز به نوشتن return نیست.

اگر عملیات هایی که در بدنه لامبدا نوشته می‌شود بیشتر از یک خط باشد باید آن‌ها را درون {} قرار دهید.

MyInterface myInterface5=(x,y)->{

   int s=x+y;

   s*=100;

   return s;

};

System.out.println(myInterface5.sum(2,5));

خروجی

700

همانطور که مشاهده کردید عبارات لامبدا می‌تواند کدها را کوتاه‌تر و خواناتر کند.

 

توضیحات ذکر شده چکیده ای  می‌باشد از آنچه که می‌خواهید بیاموزید، برای فهم بهتر مطالب این جلسه، می‌توانید این درس را خریداری کنید و از نکات ارزشمند آن بهره مند شوید.

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

ممنون از همراهی شما


نظر بدهید نظر شما در تصمیم دیگران اثرگذار است. لطفا برای ما و همراهان درسمن نظر خود را بنویسید.
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.


مشخصات دوره


مدرس دوره : مهدی عباسی
تعداد جلسات : جلسه
مدت زمان : 2057 دقیقه
حجم دوره : 6/35 گیگابایت
سطح مهارت : پیشرفته
وضعیت دوره : پایان یافته
تعداد دانشجویان : 1213
: میانگین امتیاز
برای دسترسی به این دوره وارد یا عضو شوید.
مهدی عباسی

مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و ....