Κληρονομικότητα
Βασικό χαρακτηριστικό του αντικειμενοστραφούς προγραμματισμού είναι η δυνατότητα να παράγουμε νέες κλάσεις με βάση υφιστάμενες, εξειδικεύοντας και επεκτείνοντας τα χαρακτηριστικά τους. Η διαδικασία επέκτασης των υφιστάμενων κλάσεων σε νέες ειδικότερες κλάσεις ονομάζεται κληρονομικότητα.
Κάθε κλάση που κληρονομεί από μία άλλη κλάση ονομάζεται υποκλάση (subclass) της γονικής κλάσης από την οποία κληρονομεί. Αντίστοιχα, η γονική κλάση ονομάζεται υπερκλάση (superclass) της κληρονομούμενης κλάσης.
Όπως φαίνεται και στο παραπάνω σχήμα μία κλάση (subclass) μπορεί να κληρονομεί ΜΟΝΟ ΜΙΑ άλλη κλάση. Αντίστροφα μία κλάση (superclass) μπορεί να κληρονομείται από πολλές διαφορετικές κλάσεις.
Πολυμορφισμός
Ο πολυμορφισμός αναφέρεται στη δυνατότητα να χειριζόμαστε
αντικείμενα που ανήκουν στην ίδια ιεραρχία κλάσεων, σαν να ήταν
αντικείμενα της υπερκλάσης. Για την επίτευξη πολυμορφικής
συμπεριφοράς απαιτείται μία ιεραρχία κλάσεων και υπερκαλυπτόμενες
μέθοδοι.