2 תשובות
זה הכי עובד על ממשק. פולימורפיזם זה שם מפוצץ להפשטה/גנריות, שלעצמים שונים יהיו תכונות משותפות ככה שלא באמת אכפת לך מה הסוג הספצפי.
סתם דוגמה פשוטה:
נניח יש לך ממשק imusicplayer, עם פונקציה playsong.
ואתה ממש 3 מחלקות, radio, spotify, ipod שכולם יורשים את הממשק, אז נורא בקלות אתה יכול לעשות באיזו מחלקה אחרת פונקציה כמו
public static void playsongs(imusicplayer player)
{
player.playersong()
}
וזה הפולימורפיזם, הפונקציה הזאת יכולה לקבל כל מחלקה עם הממשק הזה, ולנגן שירים, ולא אכפת לך אם היא מקבלת רדיו, ספוטיפיי או טוסטר (כל עוד הוא מממש את הממשק ויודע לנגן שירים)
סתם דוגמה פשוטה:
נניח יש לך ממשק imusicplayer, עם פונקציה playsong.
ואתה ממש 3 מחלקות, radio, spotify, ipod שכולם יורשים את הממשק, אז נורא בקלות אתה יכול לעשות באיזו מחלקה אחרת פונקציה כמו
public static void playsongs(imusicplayer player)
{
player.playersong()
}
וזה הפולימורפיזם, הפונקציה הזאת יכולה לקבל כל מחלקה עם הממשק הזה, ולנגן שירים, ולא אכפת לך אם היא מקבלת רדיו, ספוטיפיי או טוסטר (כל עוד הוא מממש את הממשק ויודע לנגן שירים)
^תשובה טובה כל כך שאין לי מה להוסיף