Disadvantages of Composition
- You can't change the implementation provided by superclass at runtime. Inheritance is defined at compile time.
 - Inheritance is said to "break encapsulation" by exposing a subclass to protected members of parent class
 - Leads to child class being tightly coupled with parent class. Changes in parent class will lead to changes in subclass.
 - Excessive deep inheritance trees can make inheritance stack very deep and confusing.
 
References
Prefer composition over inheritance? - Stack Overflow
Backlinks