digitalmars.D - base class method can implement base base interface method, is it designed?
- redsea (32/32) Aug 16 2007 I found an interesting thing, can not found definition in specification...
I found an interesting thing, can not found definition in specification. the following program is invalid, dmd said: test.d(19): class test.B interface function I.testI is not implemented --------------- import tango.io.Stdout; alias Stdout o; interface I { public abstract void testI(); } class A { public void testI(){o(1).newline;} } interface IB: public I { } class B : public A, public I { }; void main() { I i = new B; i.testI(); } --------------- but if change the class B to: class B : public A, public IB dmd would not complain , and the output binary can run correctly. --------------- I like base class method can use to implement interface, or use delphi's method, a class can delegate interface implement to base class member. But currently situation is some strange, perhaps it is not a designed feature ?
Aug 16 2007