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)

Michael.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to