On Tue, Nov 24, 2009 at 3:30 PM, Sean Owen <sro...@gmail.com> wrote: > I'm willing to be convinced but what is the theoretical argument for this?
Rather the opposite - it's a practical argument gained through experience. > I am all for interfaces *and* abstract classes. You write the API in > terms of interfaces for maximum flexibility. You provide abstract > partial implementations for convenience. Everyone is happy. The only advantage an interface has over an abstract class is multiple inheritance. You can use abstract classes like interfaces: make it possible to override all methods and avoiding state unless absolutely needed for back compat changes. -Yonik