On Tue, Apr 12, 2011 at 11:42 AM, <michael.vancann...@wisa.be> wrote:
> > > On Tue, 12 Apr 2011, Andreas Dorn wrote: > > On Fri, 8 Apr 2011,michael.vancanneyt worte: >> >>> The whole idea of interfaces is to avoid multiple inheritance. >>> >>> Hm. I don't believe that. >> >> One of the major points of interfaces is indeed to avoid the problems >> of multiple class inheritance (diamond problems - i.e. problems caused by >> conflicting implementations of a method in different ancestor classes). >> >> But Interfaces themselves don't have an implementation, so those >> diamond problems simply don't exist for them. >> > > Of course they do. If they inherit from 2 interfaces that have the same > method with a different signature, you have a problem. > > InterfaceA = Interface > Function IsValid : Integer; > end; > > InterfaceB = Interface > Function IsValid : String; > end; > > How to define : > > InterfaceC = Interface(InterfaceA,InterfaceB) > > I think, compile raise error duplicated methods, Same if inherit from one and add a method already exists in parent interface. Regards -- Zaher Dirkey
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal