An abstract base class and an interface are similar but not exactly the same. You partially answered your own question, but another difference is that interfaces don't have the concept of private/protected functions.
In my professional experience, interfaces are used far less than polymorphism because you're allowed more flexibility when working with inheritance.
|