を保護しました。 a
は定義によって保護されているため、サブクラスでしかアクセスできないはずですが、なぜこのコードが機能しないのですか?Delphiは、私はこの単純なコードを書かれている変数とコンストラクタ
procedure TForm1.Button1Click(Sender: TObject);
var
K: TTestB;
begin
k := TTestB.Create(3);
value = k.a; //I cannot access a
end;
また、protectedは抽象クラスを作成するのに便利です。 C++では、コンストラクタをprotectedとして宣言すると、オブジェクトのインスタンスを作成することができず、サブクラスのみができます。デルファイはこれを行うことができますか?
私は変数とコンストラクタで同じ問題が発生しています。
あなたは2つの別々の質問をしています。それはStackOverflowのガイドラインに反しています。抽象的な質問を別の投稿に移動してください。 –
最初の質問について:ユニットと混乱クラスの間違いをしないでください。 TFormは、クラスTTestAまたはTTestBのいずれとも関連していません。しかし、TTestBはTTestAのサブクラス(子孫)であるため、関連しています。 –