Πολυμορφισμός

Ξεκίνησε από lala, 27 Μαρ 2026, 12:36:13 ΜΜ

« προηγούμενο - επόμενο »

lala

Σε περίπτωση που έχω μια υπερκλάση με 2 υποκλάσεις και έχουν πολυμορφική μέθοδο, μπορεί η μέθοδο αυτή να είναι πολυμορφική μόνο στην μία από τις 2 υποκλάσεις και στην άλλη να κληρονομείται από την υπερκλάση?

pgrontas

Θέλει λίγο προσοχή η ορολογία, αν καταλαβαίνω σωστά την ερώτηση.
Όταν υλοποιείς τον πολύμορφισμο με κληρονομικότητα ή θα κληρονομεις ή θα κάνεις override. Οποτε δεν μπορεί να ισχύει αυτό που λες ότι η μέθοδος στην δεύτερη κλάση είναι πολυμορφική.
Στην πρώτη κλάση επειδή έχεις αλλάξει τη συμπεριφορά η μέθοδος ειναι πολυμορφική ενώ στη δεύτερη που απλά κληρονομεις δεν είναι.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

wmaster

Αν γράψεις και στις δύο υποκλάσεις την μέθοδο τότε αυτή είναι πολυμορφική και στις δύο. Δεν βρίσκω στο βιβλίο ή στο συμπληρωματικό υλικό ότι μια μέθοδο μπορεί να είναι πολυμορφική σε μία μόνο υποκλάση. Αν αυτό ισχύει, δεν υφίσταται το ερώτημα (δεν γίνεται να το εξετάσουν)

gpapargi

Από την άλλη δε γίνεται να είναι υποχρεωτικά η μέθοδος πάντα σε όλες τις υποκλάσεις γιατί τότε θα ήταν πλεονασμός να γράφεται στην υπερκλάση. Θα τη γράφαμε μόνο στις υποκλάσεις. Προφανώς γίνεται και να μην είναι γραμμένη σε κάποια υποκλάση και να κληρονομηθεί από την υπερκλάση.
Γιώργος Παπαργύρης