typeTStyleProvider = class(TObject)strict privatetypeTStyleData = recordprivate(略)end;varFStyles: TList<TStyleData>;(略)end;
以前の Delphi ではクラス内でクラス・構造体を宣言できなかったため、クラスが内部で管理する特に外に見せる必要の無いクラスまで、クラスの宣言は見えていました。
上の例で言えば
typeTStyleData = recordprivate(略)end;TStyleProvider = class(TObject)privateFStyles: TList<TStyleData>;(略)end;
となっていました。
TStyleProvider だけが必要な他のコードから、TStyleData も見えていたわけです。
クラス内でレコードやクラスを宣言できるようになった(Delphi 2007 から?)ことや、strict private が導入された(Delphi 2005 から?)おかげで見せたくないデータを断固見せないように実装できるので、すっきりしますね。
0 件のコメント:
コメントを投稿