我最近一直在写不同的课程,我注意到我无意中使用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和,标识符的意思是和,例如。FIDpropertyNameID
如果我没记错的话,发布的全部目的property是能够在编写类的单元之外访问它。这当然意味着field标识符应该在编写类的单元中使用,毕竟你不能field在类之外访问这些标识符。
这是我注意到在某些程序(私有或受保护)中我没有使用FNameor的地方FID,而是使用了property等效的Name和ID- 或有时混合使用。
到目前为止,我没有发现任何问题,实际上我通常会使用FName,FID但就像我说的那样,由于某种原因无意中没有这样做。
这是不好的做法还是会导致更险恶的事情?
谢谢。