Could someone please explain to me the differences between abstract classes, interfaces, and mixins? I\'ve used each before in
Basically an abstract class is an interface with some concrete implementation. An interface is just a contract that has no implementation detail.
You would use and abstract class if you want to create common functionality amoung all of the objects that implement the abstract class. Keeping with the DRY (Don't Repeat Yourself) principle of OOP.