![]() |
Getter/Setter mit unterschiedlicher Sichtbarkeit möglich?
Hey there
Ist so etwas machbar?
Delphi-Quellcode:
Gruss
type
TTest = class private FProp: Integer; protected property Prop: Integer write FProp; public property Prop: Integer read FProp; end; Shaman |
Re: Getter/Setter mit unterschiedlicher Sichtbarkeit möglich
Nein. Dein Compiler würde dir das Gleiche sagen.
|
Re: Getter/Setter mit unterschiedlicher Sichtbarkeit möglich
Hat er mir auch gesagt ;)
Wollte nur verdeutlichen, was ich meine. Vieleicht geht es ja auf eine andere Weise. |
Re: Getter/Setter mit unterschiedlicher Sichtbarkeit möglich
Falls du Chrome kennst: dort geht das.
Delphi-Quellcode:
Damit dürfen alle lesen, aber nur Kindklassen schreiben.
type
Foo = class private method GetProp: Integer; method SetProp(const Value: Integer); public property Prop: Integer public read GetProp protected write SetProp; end; |
Re: Getter/Setter mit unterschiedlicher Sichtbarkeit möglich
Oder mittels zweier Properties auf denselben Wert zugreifen:
Delphi-Quellcode:
type
TTest = class private FProp: Integer; protected property ProtectedProp: Integer read FProp write FProp; public property Prop: Integer read FProp; end; |
Re: Getter/Setter mit unterschiedlicher Sichtbarkeit möglich
Oder mittels zweier Methoden:
Delphi-Quellcode:
MfG
type
TTest = class private FProp: Integer; protected procedure Prop(Value:Integer); overload; public function Prop:Integer; overload; end; : : { TTest } procedure TTest.Prop(Value: Integer); begin FProp:=Value; end; function TTest.Prop: Integer; begin Result:=FProp; end; Thorsten |
Re: Getter/Setter mit unterschiedlicher Sichtbarkeit möglich
Zitat:
Ich denke, die StiNo-Delphi-Lösung wäre ein protected Setter. So gibt es weiterhin eine (read-) Property, und die Namenskonvention für einen Setter (set[Property]) sollte seine Funktion ziemlich eindeutig klarmachen. ;)
Delphi-Quellcode:
So hat man (zwar unschön) fast virtuelle Properties wie in Chrome oder C#:
protected
function getXXX : SomeType; virtual; procedure setXXX(const value : SomeType); virtual; public property XXX : SomeType read getXXX;
Delphi-Quellcode:
Edit: Der Getter hätter wohl keine Prozedur sein können, right? :mrgreen:
public
property XXX : SomeType read fXXX protected write fXXX; virtual; Das passiert, wenn man sonst nur "method" schreibt :lol: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz