Bei mir würde das so aussehen (dass Parameter, Variablen und Felder mit nem kleinen Buchstaben anfangen, ist meine persönliche Note)
Delphi-Quellcode:
type
TExample = class
private
fTest: Integer;
public
constructor Create(const test: Integer);
property Test: Integer read fTest write fTest;
end;
constructor TTest.Create(const test: Integer);
begin
inherited Create;
fTest := test;
end;
Nun mag jemand sagen, oje, da gibt es einen poteziellen Konflikt zwischen dem ctor parameter und der Eigenschaft. Nö, der parameter wird hier immer bevorzugt.
Natürlich müsste man innerhalb dieser Methode nun
Self.Test
schreiben, um an die Eigenschaft zu kommen, damit kann ich aber leben - da eher die Ausnahme.
Ich erspare mir nun mal ein Essay, warum automatic properties mit unterschiedlichen visibilities für getter und setter in C# oder anderen Sprachen so viel besser sind
als der ganze Extraklump mit explizit zu definierenden Feldern und der nahezu Unmöglichkeit, unterschiedliche Sichtbarkeiten für read und write anzugeben.