Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Interface Vererbung


Allesquarks - Fr 09.02.07 16:58
Titel: Interface Vererbung
Man kann ja uch bei Interfaces vererben etwa so:

Delphi-Quelltext
1:
2:
3:
IZahl = interface

IGanzzahl = interface(IZahl)

Nur leider wenn ich ein tieferes Interface unterstütze dann sagt er mir, wenn ich auf ein höheres zuweise "Inkompatible Typen" warum denn IZahl ist von IGanzzahl ja auf jeden Fall unterstützt. Das sollte also gehen.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
TIntzahl = class(TObject,IGanzzahl)

implementation

function bla:IZahl;
begin
   result:=TIntzahl.create(3);
end;

Kann man das umgehen ohne irgendwelche Änderungen in der Implementation sondern nur in der Deklaration? oder ist es üblich dann einfach nicht zu vererben und stattdessen einfach alle zu unterstützen:

Delphi-Quelltext
1:
TIntzahl = class(TObject,IZahl,IReelzahl,IGanzzahl...)