Το
Η αναδημοσίευση είναι η τυποποίηση ενός θυγατρικού αντικειμένου σε ένα γονικό αντικείμενο. Η αναβάθμιση μπορεί να γίνει σιωπηρά. Η Upcasting μας δίνει την ευελιξία να έχουμε πρόσβαση στα μέλη της γονικής τάξης, αλλά δεν είναι δυνατή η πρόσβαση σε όλα τα μέλη της θυγατρικής τάξης χρησιμοποιώντας αυτήν τη δυνατότητα.
Γιατί χρειαζόμαστε Upcasting και downcasting σε Java;
Γιατί χρειαζόμαστε Upcasting και Downcasting; Στην Java, χρησιμοποιούμε σπάνια Upcasting. Το χρησιμοποιούμε όταν χρειάζεται να αναπτύξουμε έναν κώδικα που να ασχολείται μόνο με τη γονική κλάση. Η κατάρρευση χρησιμοποιείται όταν πρέπει να αναπτύξουμε έναν κώδικα που να έχει πρόσβαση στις συμπεριφορές της θυγατρικής τάξης.
Ποια είναι η χρήση της Upcasting και της Downcasting;
Το Up-casting είναι η μετάδοση σε έναν υπερτύπο, ενώ το downcasting είναι η μετάδοση σε έναν υποτύπο. Η upcasting και downcasting μας δίνει πλεονεκτήματα, όπως Πολυμορφισμός ή ομαδοποίηση διαφορετικών αντικειμένων. Μπορούμε να αντιμετωπίσουμε ένα αντικείμενο ενός τύπου θυγατρικής κλάσης ως αντικείμενο του τύπου γονικής κλάσης του. Αυτό ονομάζεται upcasting.
Ποια είναι η διαφορά μεταξύ Upcasting και Downcasting;
Η αναβάθμιση (Γενίκευση ή Διεύρυνση) είναι η μετάδοση σε έναν γονικό τύπο με απλά λόγια η μετάδοση μεμονωμένου τύπου σε έναν κοινό τύπο ονομάζεται upcasting ενώ η υποβάθμιση (εξειδίκευση ή στένωση) είναι μετάδοση σε έναν παιδικό τύπο ή χύτευση κοινός τύπος σε μεμονωμένο τύπο.
Τι είναι το downcasting και πότε απαιτείται;
Η κατάρρευση είναι μια αντίθετη διαδικασία για την αναβάθμιση. Μετατρέπει το δείκτη της βασικής κλάσηςσε παράγωγο δείκτη κλάσης. Η κατάρρευση πρέπει να γίνει με μη αυτόματο τρόπο. Σημαίνει ότι πρέπει να καθορίσετε ρητό typecast.