Hi John,
>Look at interface implementation as being somewhere in the middle of having and not having inheritance. It is a feature I wish we had in VFP.
I'm not sure whether you are still here, so... Before I agree, I just want to make sure we are talking about the same. Would you mean something like:
DEFINE INTERFACE IBase
PUBLIC lCleanupDone
PROCEDURE Cleanup
ENDDEFINE
DEFINE CLASS lblBase AS LABEL IMPLEMENTS IBase
IBase.lCleanupDone = .F.
PROCEDURE IBase.Cleanup
ENDPROC
ENDDEFINE
DEFINE CLASS cntBase AS CONTAINER IMPLEMENTS IBase
IBase.lCleanupDone = .F.
PROCEDURE IBase.Cleanup
ENDPROC
ENDDEFINE
IOW, the interface defines what methods a class should have and when you say that a class implements a specific interface, this means that the method are added to the class and you have to fill in the code or define the property?
If yes, then I'd agree, this would be a quite useful extension to VFP, especially if multiple interface inheritance is supported, because this would make it easier to, first, keep the interface separate from the implementation, and, second, keep classes in sync that don't inherit from a common super class.
Christof
--
Christof