Inheritance is one of the fundamental principles of object-oriented programming. And then, just when you think you’ve got it mastered, the hipster programmers come along saying that composition is better. (Sometimes, anyway.)
So we’ll take a good look at both techniques, and the reasons and circumstances to use each one.