הגדרת מתודה במספר גרסאות

Java Programming Course
ניתן להגדיר באותו class מספר גרסאות שונות של אותה מתודה. הגרסה שתפעל בעת הקריאה להפעלת המתודה תהיה הגרסה המתאימה ביותר לארגומנטים שנשלחו.

Share This Post

כאשר מגדירים מתודה ב-class ניתן להגדירה במספר גרסאות שונות. הכלל הוא שה-type של הערך המוחזר חייב להיות זהה בכל הגרסאות, ובנוסף לכך, לכל אחת מהמתודות חייבת להיות חתימה שונה. כל אחת מהמתודות חייבת להיות עם מספר פרמטרים שונה ו/או עם type שונה לפרמטר אחד או יותר בהשוואה לכל הגרסאות האחרות. 

הגרסה שתפעל בעת קריאה להפעלת המתודה

כאשר קוראים להפעלת המתודה, הגרסה שתפעל היא הגרסה המתאימה ביותר לארגומנטים שנשלחו, הן מבחינת מספר הארגומנטים והן מבחינת ה-type של כל אחד מהם. 

				
					class Something {
    public static void f(int num1) {
        System.out.println("1");
    }
    public static void f(int num1, int num2, int num3) {
        System.out.println("2");
    }
    public static void f(int num1, int num2, double num3) {
        System.out.println("3");
    }
    public static void main(String args[]) {
        f(2,3,5.5);
    }
}
				
			

בדוגמת הקוד יודפס ״3״ למסך. כיוון שלפונקציה f נשלחים שלושה ערכים, והערך השלישי הוא מספר עם שבר עשרוני, הגרסה המתאימה ביותר היא הגרסה השלישית. 

הגדרת מתודה במספר גרסאות שונות תוך הקפדה על type זהה של הערך המוחזר בכל הגרסאות ותוך הקפדה על חתימה שונה לכל אחת מהגרסאות (מספר פרמטרים שונה ו/או type שונה בלפחות אחד מהפרמטרים) קוראים בשם Overloading.

הירשמו לניוזלטר שלנו

התעדכנו בחידושים הטכנולוגים

פוסטים נוספים

Learning Java
Java

יצירת מערך של אובייקטים בג׳אווה

מערך של אובייקטים בשפת התכנות ג׳אווה הוא, למעשה, מערך של references לאובייקטים. כל תא במערך של אובייקטים דומה למשתנה אשר יכול להחזיק ב-reference לאובייקט.

הזנק את העסק שלך!

נשמח להיפגש לקפה!

life michael academy asynchronous online courses

Java | Python | JavaScript | TypeScript

Update cookies preferences