Inheritance is isn’t always a terrible choice. But it is a terrible choice often enough that we need to warn the next generation.
But also, when it is not a terrible choice for a problem it is often not the best choice or at the very least equally good as other options that work in vastly more cases.
But also, when it is not a terrible choice for a problem it is often not the best choice or at the very least equally good as other options that work in vastly more cases.
ultra rare I’ve successfully inherited a concrete class, rarely an abstract one and 99% just impl an interface.