field私は最近さまざまなクラスを書いていますが、うっかりとproperty識別子の両方を使用して読み書きしていることに気付きました。
例として基本クラスを使用してみましょう。
TMyClass = class
private
FName: string;
FID: Integer;
public
constructor Create(AName: string);
destructor Destroy; override;
published
property Name: string read FName write FName;
property ID: Integer read FID write FID;
end;
field識別子とは、たとえばFNameandを意味FIDし、識別子とは、たとえばandpropertyを意味します。NameID
property私が間違っていなければ、公開された全体の目的は、クラスが書かれているユニットの外からアクセスできるようにすることです。これは確かにfield、クラスが記述されている単位で識別子を使用する必要があることを意味します。結局のところfield、クラスの外部でこれらの識別子にアクセスすることはできません。
FNameここで、一部の手順 (プライベートまたはプロテクト) でorを使用していないことに気付きましたFIDが、代わりにproperty同等のNameand ID- または混合を使用しています。
これまでのところ問題は見られませんでした。実際、通常は and を使用FNameしてFIDいましたが、私が言うように、何らかの理由でうっかり使用していませんでした。
これは悪い習慣ですか、それとももっと不吉なことにつながる可能性がありますか?
ありがとう。