Jérôme M. Berger wrote:
Michel Fortin wrote:
I fully support having a way to specify a default implementation for a
function in an interface. It might get handy for a few things (like
implementing the delegate pattern you see everywhere in Cocoa). But
it's a bad replacement for contracts.
Then what's the difference between an interface and an abstract
class? I thought that the whole point of interfaces was that you
couldn't have implementations of the methods so that you had no problem
choosing an implementation when inheriting from multiple interfaces.
Jerome
The interface supports multiple inheritance since it doesn't add to the
vtable of the class using it, and its code would be implemented on the
classes implementing the interface, not overridden by subclasses.