Die Antworten, welche Du jetzt erwartest basieren wohl größtenteils auf "Glauben". Kurz, jeder wie es ihm gefällt.
Deshalb einfach mal, wie ich es mache und mit der Lösung fahre ich recht gut und wohl auch entlang (oder mitten im) Mainstream.
Delphi-Quellcode:
type TFooClass = class
private
FFooCaption : string;
procedure SetFooCaption(const Value: string);
function GetFooCaptionEx: string;
public
constructor create;
property FooCaption: string read FFooCaption write SetFooCaption;
// kleiner fehler korriegert (Ex am Ende vergessen)
property FooCaptionEx: string read GetFooCaptionEx;
end;
Im Create setze ich i.A. die Variable (ioB: FFooCaption) direkt, sofern der Wert konstant ist bzw. nicht validiert werden muss. Wird mit dem Setzen gleichzeitig eine Validierung durchgeführt, gehe ich über die Property und damit ultimativ auch über die write Methode. Allerdings versuche ich im Create eine solche Situation zu vermeiden und zwinge den Programmiere die Werte anschließend separat zu setzen, damit werden auch hier entstehende Fehlerquellen offensichtlicher.
Zitat:
Noch was. Wann müssen / sollen Methoden, Membervariablen unter public deklariert werden?
Würde ich i.A. als Quatsch ansehen, wenn man es so verallgemeinert. Variablen sind bei mir
generell im
private Bereich zu finden. Wenn von ausserhalb Zugriff gewährt wird, dann ausschließlich über Properties und Methoden. Methoden findest Du bei mir je nach Bedarf in den Bereichen
private,
protected und
public. Damit legt man anschliessend ja auch fest, wer und wie auf die Methoden zugegriffen wird. Properties sind bei mir allgemein in den Bereichen
protected,
public und
published zu finden, selten im
private Bereich, aber auch das kann passieren, ein, zwei Mal im Leben.
...
...