Well, there’s plenty to agree with and plenty to disagree with. If you say you are ready to reuse and you did so by copying code to a new project as-is, I’m sorry to say that it has nothing to do with OOP. Reusability means inheritance. Copy pasting stuff to a different project is a different story. You need the whole class, a method, the whole hierarchy? Whether you can do it depends on how well you thought out your initial project. There is no reason to expect that inheritance would facilitate copy paste.

Secondly, your weak base class issue. Sorry, but if your tests related to child class still pass with a breaking change then you have a different kind of problem.

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