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

Javaمثال حول تعريف دوال لها نفس الإسم و تختلف في عدد الباراميترات في جافا

في المثال التالي قمنا بتعريف كلاس إسمه MyInfo, يحتوي على ثلاث دوال إسمهم displayInfo() و نوعهم public void.
الدالة الأولى تأخذ باراميتر واحد عبارة عن الإسم, ثم تقوم بطباعته.
الدالة الثانية تأخذ إثنين باراميتر عبارة عن الإسم و إسم العائلة, ثم تقوم بطباعتهما.
الدالة الثالثة تأخذ ثلاثة باراميترات عبارة عن الإسم و إسم العائلة و الوظيفة, ثم تقوم بطباعتهم.

بعد إنشاء هذا الكلاس, قمنا بإنشاء الكلاس Main و إستدعاء الدوال الثلاثة فيه.


مثال

MyInfo.java
public class MyInfo {
 
    public void displayInfo(String name) {
        System.out.println("name: " +name);
        System.out.println("---------------------");
    }
 
    public void displayInfo(String name, String lastName) {
        System.out.println("name: " +name);
        System.out.println("last name: " +lastName);
        System.out.println("---------------------");
    }
 
    public void displayInfo(String name, String lastName, String job) {
        System.out.println("name: " +name);
        System.out.println("last name: " +lastName);
        System.out.println("job: " +job);
        System.out.println("---------------------");
    }
 
}

Main.java
public class Main {
 
    public static void main(String[] args) {
 
        MyInfo m = new MyInfo();     // لإستدعاء الدوال منه MyInfo هنا قمنا بإنشاء كائن من الكلاس
 
        m.displayInfo("Mhamad");                             // هنا سيتم إستدعاء الدالة التي تأخذ باراميتر واحد
        m.displayInfo("Mhamad", "Harmush");                  // هنا سيتم إستدعاء الدالة التي تأخذ 2 باراميتر
        m.displayInfo("Mhamad", "Harmush", "programmer");    // هنا سيتم إستدعاء الدالة التي تأخذ 3 باراميترات
 
    }
 
}

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

name: Mhamad
---------------------
name: Mhamad
last name: Harmush
---------------------
name: Mhamad
last name: Harmush
job: programmer
--------------------- 

كما لاحظت هنا, في كل مرة قمنا فيها باستدعاء الدالة displayInfo() وجدنا أن المترجم قام باستدعاء الدالة displayInfo() التي تحتوي على نفس عدد الباراميترات الذي كنا نمرره لها.