<div dir="ltr"><br><br><div class="gmail_quote">On Tue, Apr 12, 2011 at 11:42 AM, <span dir="ltr"><<a href="mailto:michael.vancanneyt@wisa.be">michael.vancanneyt@wisa.be</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im"><br>
<br>
On Tue, 12 Apr 2011, Andreas Dorn wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
On Fri, 8 Apr 2011,michael.vancanneyt worte:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
The whole idea of interfaces is to avoid multiple inheritance.<br>
<br>
</blockquote>
Hm. I don't believe that.<br>
<br>
One of the major points of interfaces is indeed to avoid the problems<br>
of multiple class inheritance (diamond problems - i.e. problems caused by<br>
conflicting implementations of a method in different ancestor classes).<br>
<br>
But Interfaces themselves don't have an implementation, so those<br>
diamond problems simply don't exist for them.<br>
</blockquote>
<br></div>
Of course they do. If they inherit from 2 interfaces that have the same<br>
method with a different signature, you have a problem.<br>
<br>
InterfaceA = Interface<br>
Function IsValid : Integer;<br>
end;<br>
<br>
InterfaceB = Interface<br>
Function IsValid : String;<br>
end;<br>
<br>
How to define :<br>
<br>
InterfaceC = Interface(InterfaceA,InterfaceB)<br>
<br></blockquote><div><br>I think, compile raise error duplicated methods, Same if inherit from one and add a method already exists in parent interface. <br></div></div><br>Regards<br><br>-- <br>Zaher Dirkey<br>
</div>