Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.443 Beiträge
 
Delphi 12 Athens
 
#5

AW: Interfaces - Multiple Inheritance

  Alt 6. Aug 2010, 12:42
Nein, IReadObject ist "überlüssig"/unnötig, da es schon in IFullObject enthalten ist (der Vorfahre).
Die Funktion von IWriteObject ist zwar auch in IFullObject enthalten, aber das Interface selber natürlich nicht.
Das sehe ich etwas anders! Lass das mal laufen:

Delphi-Quellcode:
type
  IFather = interface
    ['{41780D81-7DD0-491B-831D-E3C247FB425F}']
  end;

  IChild = interface (IFather)
    ['{BAB88147-561D-4786-BC59-FDA90AFF3669}']
  end;

  TClass1 = class(TInterfacedObject, IFather, IChild)
  end;

  TClass2 = class(TInterfacedObject, IChild)
  end;

procedure Test;
var
  intf1: IInterface;
  intf2: IInterface;
begin
  intf1 := TClass1.Create;
  intf2 := TClass2.Create;
  if Supports(intf1, IFather) then
    ShowMessage('TClass1 supports IFather')
  else
    ShowMessage('TClass1 doesn''t support IFather');
  if Supports(intf2, IFather) then
    ShowMessage('TClass2 supports IFather')
  else
    ShowMessage('TClass2 doesn''t support IFather');
end;
Uwe Raabe
  Mit Zitat antworten Zitat