Say I have a class Product {string name; double price;...}
So if I want to implement a seasonal or a discounted product, I can add declare a isPromoted/isSeasonal or I can create a new class promotedProduct : Product {...}, seasonalProduct : Product{} and much more.
I have been told that beginners tend to misuse inheritance and how it is evil. So I am not sure if I am considered misusing in this case. Or maybe they are both wrong and using interface is better etc.