What difference do you see between implementing an interface and inheriting from a class, that makes one good and the other bad?
I'm asking beyond the arbitrary distinctions that some languages like Java or C# bake in.
I'm asking beyond the arbitrary distinctions that some languages like Java or C# bake in.
As far as how the implementor may fulfill its interface obligation, it may use inheritance, if it truly has an IS-A or subtype relationship with the base object.