www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - explicit interface implementation

C# made the intelligent decision to include explicit interface implementation. 
This greatly reduced ambiguity in multiple implementation fo interfaces.
ex:
interface one{
int foo();
}
interface two{
double foo();
}

class c{
int foo(){return 1;}
double two.foo(){return 1.0;}
}

otherwise there would be now way to implement both methods.
if it is extended to classes then many ambiguities in multiple inheritance are
solved.  For the rest it simply needs to be required that the subclass
overrides the correct method when multiple superclasses have the same method
signature.
Jun 29 2007