On the subject of class inheritance and why it’s awful, I prefer to use the terms “has-a” versus “is-a” when describing a class structure.

“has-a” classes are classes which use other classes, hopefully via dependency injection. “is-a” classes are classes that extend other classes and, as suggested above, can hide complexity and create tightly coupled codebases.

There’s nothing wrong with how you said it, I just fell into the “has-a”/”is-a” convention awhile ago, and found it useful for me. Great article, BTW!

Written by

Engineer. Staff at Anthrocon, Anthro New England, Midwest FurFest, Furry Migration, Eurofurence. AWS, Splunk, Docker, DMARC, White Mage, he/him

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store