Too Long; Didn't Read
With the introduction of OOPs, Inheritance and Composition are still confusing us. Composition and Inheritance are the building blocks of an application structure. Inheritance is a way of reusing code by inheriting the structure from the referred class or Type. Compositions are more suitable in this context as it is expected to have structural similarity or uniformity. In Inheritance, the structure imposition introduces tight coupling between both connected classes; it restricts their future editing. Composition does not impose any structure of any of connected Class. It is a flexible option.