<div dir="ltr"><div class="gmail_extra">type</div><div class="gmail_extra">  IBarkable = interface(IInterface)</div><div class="gmail_extra">  ['{B241068F-2ED9-43C7-066B-778B94CB58F9}']<br></div><div class="gmail_extra">    procedure Bark;</div><div class="gmail_extra">  end;</div><div class="gmail_extra"><br></div><div class="gmail_extra">  TAnimal = class(IInterface)</div><div class="gmail_extra">  end;</div><div class="gmail_extra"><br></div><div class="gmail_extra">  TDog = class(TAnimal, IBarkable)</div><div class="gmail_extra">  public</div><span style="font-size:12.8px">    procedure Live; override;</span><br style="font-size:12.8px"><div class="gmail_extra"><span style="font-size:12.8px">    procedure Bark;</span></div><div class="gmail_extra">  end;</div><div class="gmail_extra"><br></div><div class="gmail_extra">and later ...</div><div class="gmail_extra"><br></div><div class="gmail_extra">if Animal is IBarkable then (Animal as IBarkable).Bark; </div><div class="gmail_extra"><br></div></div>