James Gosling, who I'd consider the father of one of the most popular OO languages gave this advice:
"You should avoid implementation inheritance whenever possible"
My early days of Java where largely building unmaintainable inheritance trees into my code and then regretting it. This quote gave me comfort that it wasn't really that good an idea.
"You should avoid implementation inheritance whenever possible"
My early days of Java where largely building unmaintainable inheritance trees into my code and then regretting it. This quote gave me comfort that it wasn't really that good an idea.
Decent discussion on inheritance Vs composition also found here: https://en.m.wikipedia.org/wiki/Composition_over_inheritance