if D would allow this - what is then the difference between a class with your methods as virtuals + your string?interface are for loosier coupling then classes - thats why only declerations not implementations (like your string) are allowed, same goes to Java and C# (and i think most other interface having languages)
But classes cannot enforce its successor to do something. May introduce a new keyword "enforce"?