Javaطريقة تعريف دالة ترجع قيمة و لا تملك أي باراميتر بأسلوب Lambda Expressions في جافا
في المثال التالي قمنا بتعريف إنترفيس إسمه Greetings
يحتوي على دالة إسمها getMessage()
ترجع نص ترحيب عندما يتم استدعاءها.
بعدها قمنا بإنشاء كلاس إسمه Main
بداخله قمنا بإنشاء Anonymous Inner Class يطبق الإنترفيس Greetings
.
ملاحظة: لم نستخدم أسلوب الـ Lambda Expressions.
المثال الأول
public interface Greetings { // Greetings في أي كلاس سيطبق الإنترفيس Override هذه الدالة يجب أن نفعل لها public String getMessage(); }
public class Main { public static void main(String[] args) { // obj مع إنشاء كائن منه و تخزينه في الكائن Greetings من الإنترفيس Anonymous Inner Class هنا قمنا بإنشاء Greetings obj = new Greetings() { // getMessage() للدالة Override و فعلنا public String getMessage() { return "Welcome to harmash.com"; } }; // getMessage() هنا قمنا بطابعة النص الذي ترجعه الدالة System.out.println(obj.getMessage()); } }
سنحصل على النتيجة التالية عند التشغيل.
Welcome to harmash.com
هنا قمنا بإعادة نفس المثال السابق باستخدام أسلوب الـ Lambda Expressions.
المثال الثاني
public interface Greetings { // Greetings في أي كلاس سيطبق الإنترفيس Override هذه الدالة يجب أن نفعل لها public String getMessage(); }
public class Main { public static void main(String[] args) { // getMessage() لإنشاء الكائن و تعريف الدالة Lambda Expressions هنا استخدمنا أسلوب الـ Greetings obj = ()-> { return "Welcome to harmash.com"; }; // getMessage() هنا قمنا بطابعة النص الذي ترجعه الدالة System.out.println(obj.getMessage()); } }
سنحصل على النتيجة التالية عند التشغيل.
Welcome to harmash.com
في المثال السابق كان بإمكاننا عدم وضع أقواس البداية و النهاية و الجملة return
عندما فعلنا Override للدالة getMessage()
لأننا وضعنا أمر واحد فيها.
إذاً يمكن تبديل الكود التالي.
Greetings obj = ()-> { return "Welcome to harmash.com"; };
بهذا الكود.
Greetings obj = ()-> return "Welcome to harmash.com";