On Wednesday, 7 August 2013 at 07:30:52 UTC, SteveGuo wrote:
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"?
what? O_o
let me explain, abstract class requires its successors to
implement all methods, but may have fields.
class successors *always* do something, either their methods has
derived behavior or overridden ones. so does interface, if you
has class derived from interface then its successors may or may
not override its methods.