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
識別子とは、たとえばFName
andを意味FID
し、識別子とは、たとえばandproperty
を意味します。Name
ID
property
私が間違っていなければ、公開された全体の目的は、クラスが書かれているユニットの外からアクセスできるようにすることです。これは確かにfield
、クラスが記述されている単位で識別子を使用する必要があることを意味します。結局のところfield
、クラスの外部でこれらの識別子にアクセスすることはできません。
FName
ここで、一部の手順 (プライベートまたはプロテクト) でorを使用していないことに気付きましたFID
が、代わりにproperty
同等のName
and ID
- または混合を使用しています。
これまでのところ問題は見られませんでした。実際、通常は and を使用FName
してFID
いましたが、私が言うように、何らかの理由でうっかり使用していませんでした。
これは悪い習慣ですか、それとももっと不吉なことにつながる可能性がありますか?
ありがとう。