Zitat von
Hansa:
Und wie so was mit private gehen soll, das soll mir erst mal einer sagen.
Die vielen Felder in protected sind die "Tippfaule" Variante, die ich zugegebenermaßen auch manchmal verwendet. Man tippt eben nicht gerne viel.
Die (reine) Theorie der Kapselung würde das aber lieber so sehen.
Delphi-Quellcode:
private
FArtNr : string;
FArtGef : boolean;
FVonArtNr,
FBisArtNr : integer;
...
FKommaCols : TByteSet;
protected
property ArtNr: string read FArtNr write FArtNr;
property ArtGef: Boolean read FArtGef write FArtGef;
...
Dadurch wäre es nämlich möglich, die Datenstruktur neu zu organisieren, ohne das nach außen etwas verändert wird. (Tritt aber bei End-Anwendungen nicht so häufig auf. Bei Komponentenbibliotheken hingegen sehr oft).
Wobei Leute, die keine Ahnung von Delphi haben, sich hierbei auch Fragen würden, ob das denn wirklich gekapselt ist, da man doch
MyInstance.ArtNr := '1234';
schreiben kann und nicht wie in Java ein
Code:
MyInstance.setArtNr("1234");
nutzt. (habe ich erst kürzlich gehört).