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

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