Extensive polymorphism can lead to increased complexity and harder-to-read code.
Using polymorphism excessively might result in a complex class hierarchy that is difficult to understand and maintain. This can lead to issues such as the diamond problem in multiple inheritance scenarios or difficulty in tracing method calls across numerous implementations. In an e-commerce application, if every product type introduces its own pricing logic, understanding the final price calculation flow could become cumbersome.
Additional Notes
What are potential downsides of extensive polymorphism in design?