Upcasting הוא טיפוס של אובייקט צאצא לאובייקט אב. העלאה יכולה להיעשות באופן מרומז. שידור מעלה נותן לנו את הגמישות לגשת לחברי כיתת ההורים אך לא ניתן לגשת לכל חברי כיתת הילדים באמצעות תכונה זו.
למה אנחנו צריכים העלאה והורדה ב-Java?
למה אנחנו צריכים העלאה והורדה? ב-Java, אנחנו רק לעתים רחוקות משתמשים בשידור. אנחנו משתמשים בו כשאנחנו צריכים לפתח קוד שעוסק רק בכיתת האב. ההורדה משמשת כאשר אנו צריכים לפתח קוד הניגש להתנהגויות של כיתת הילד.
מה התועלת של העלאה והורדה?
הליהוק למעלה הוא ליהוק לסוג-על, בעוד ש-downcasting הוא ליהוק לתת-טיפוס. העלאה והורדה נותנת לנו יתרונות, כמו פולימורפיזם או קיבוץ של אובייקטים שונים. אנו יכולים להתייחס לאובייקט מסוג מחלקה ילד כאובייקט מסוג מחלקת האב שלו. זה נקרא שידור.
מה ההבדל בין העלאה להורדה?
העברה (הכללה או הרחבה) היא השלכה לסוג אב במילים פשוטות, השלכת סוג בודד לסוג נפוץ אחד נקראת העלאה, בעוד שהשידור למטה (התמחות או צמצום) היא העברה לסוג ילד או ליהוק סוג נפוץ לסוג בודד.
מהו הורדה ומתי זה נדרש?
השידור להורדה הוא תהליך הפוך לשידור. זה ממיר את מצביע המעמד הבסיסילמצביע מחלקה נגזר. ההורדה חייבת להתבצע באופן ידני. פירוש הדבר שעליך לציין כתבה מפורשת.