[fpc-pascal] Polymorphism question
dhkblaszyk at zeelandnet.nl
dhkblaszyk at zeelandnet.nl
Fri Mar 3 12:39:11 CET 2006
I made a typo which I didn't notice, thanks for the replies.
> On Fri, 03 Mar 2006 04:52:36 -0300, <dhkblaszyk at zeelandnet.nl> wrote:
>
>> (I sent this mail yesterday but somehow it didn't get trough, therefore
>> a
>> new try)
>>
>> I would like to declare a polymorph class. The class has several
>> properties and it's the read and write specifiers that I want to be
>> virtual abstract. So derived classes override the read and write
>> specifiers. The problem however is that I get an EAbstractError. The
>> property is still considered to be abstract according to the compiler.
>> So
>> what did I wrong? I have added an example below.
>> Is it perhaps not allowed to use this construct? What would then be the
>> best way?
>> Darius
>>
>> <<example>>
>>
>> unit MyTest;
>>
>> {$mode objfpc}{$H+}
>>
>> interface
>>
>> uses
>> Classes, ComCtrls, SysUtils;
>>
>> type
>> TCustomClass = class
>> private
>> //virtual mehods
>> function GetMyProperty: string; virtual; abstract;
>> procedure SetMyProperty(Value: string); virtual; abstract;
>> published
>>
>> property MyProperty: string Read GetMyProperty Write SetMyProperty;
>> end;
>>
>> TMyClass = class(TCustomClass)
>> private
>> FMyProperty: string;
>>
>> function GetMyProperty: string; overload;
>> procedure SetMyProperty(Value: string); overload;
>> published
>> property MyProperty;
>> end;
>>
>> implementation
>>
>> function TMyClass .GetMyProperty: string;
>> begin
>> Result := FMyProperty;
>> end;
>>
>> procedure TMyClass .SetMyProperty(Value: string);
>> begin
>> if Value = FMyProperty then
>> exit;
>>
>> FMyProperty := Value;
>> end;
>> end.
>>
>>
>>
>> _______________________________________________
>> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
>> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>>
>
> Try override instead of overload
>
> --
> Rodrigo Palhano
> ---------------------------------
> Equipe SpeedCASE
>
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>
More information about the fpc-pascal
mailing list