Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

Javaطريقة تعريف دالة نوعها void لا تملك أي باراميتر بأسلوب Lambda Expressions في جافا

في المثال التالي قمنا بتعريف إنترفيس إسمه Greetings يحتوي على دالة إسمها welcomeMessage() لا ترجع قيمة عندما يتم استدعاءها.
بعدها قمنا بإنشاء كلاس إسمه Main بداخله قمنا بإنشاء Anonymous Inner Class يطبق الإنترفيس Greetings.

ملاحظة: لم نستخدم أسلوب الـ Lambda Expressions.

المثال الأول

Greetings.java
public interface Greetings {
 
    // Greetings في أي كلاس سيطبق الإنترفيس Override هذه الدالة يجب أن نفعل لها
    public void welcomeMessage();
 
}

Main.java
public class Main {
 
    public static void main(String[] args) {
 
        // obj مع إنشاء كائن منه و تخزينه في الكائن Greetings من الإنترفيس Anonymous Inner Class هنا قمنا بإنشاء
        Greetings obj = new Greetings() {
            // welcomeMessage() للدالة Override و فعلنا
            @Override
            public void welcomeMessage() {
                System.out.println("Welcome to harmash.com");
            }
        };
 
        // welcomeMessage() هنا قمنا باستدعاء الدالة
        obj.welcomeMessage();
 
    }
 
}

سنحصل على النتيجة التالية عند التشغيل.

Welcome to harmash.com

هنا قمنا بإعادة نفس المثال السابق باستخدام أسلوب الـ Lambda Expressions.

المثال الثاني

Greetings.java
public interface Greetings {
 
    // Greetings في أي كلاس سيطبق الإنترفيس Override هذه الدالة يجب أن نفعل لها
    public void welcomeMessage();
 
}

Main.java
public class Main {
 
    public static void main(String[] args) {
 
        // welcomeMessage() لإنشاء الكائن و تعريف الدالة Lambda Expressions هنا استخدمنا أسلوب الـ
        Greetings obj = ()-> {
            System.out.println("Welcome to harmash.com");
        };
 
        // welcomeMessage() هنا قمنا باستدعاء الدالة
        obj.welcomeMessage();
 
    }
 
}

سنحصل على النتيجة التالية عند التشغيل.

Welcome to harmash.com

في المثال السابق كان بإمكاننا عدم وضع أقواس البداية و النهاية عندما فعلنا Override للدالة welcomeMessage() لأننا وضعنا أمر واحد فيها.


إذاً يمكن تبديل الكود التالي.

Greetings obj = ()-> {
    System.out.println("Welcome to harmash.com");
};

بهذا الكود.

Greetings obj = ()->
    System.out.println("Welcome to harmash.com");

أو بهذا الكود.

Greetings obj = ()-> System.out.println("Welcome to harmash.com");