親の親へのinherited方法は?


KHE00221  2004-09-20 01:39:09  No: 11022

Component1 = class = (TComponent)
procedure TComponent1.xxxx (A:TComponent);
begin
end;

Component2 = class(TComponent1)
procedure TCormponent2.xxxx (A:TButton);
begin
  inherited xxxx(TPanel);   
end;

のとき

Component2 を継承し xxxx の TPanel の所を TLabel に変えようと
下記のように変更すると

Component3 = class(TComponent2)
procedure TCormponent3.xxxx (A:TButton);
begin
  inherited xxxx(TLabel);   
end;

Component3 の inherited は Compoent2 に当然いってしまうのですが、
親の親へ inherited する方法は無いのでしょうか?

やはり

Component3 = class(TComponent1)
とし、変更無い所まで全てコピーするしか無いのでしょうか?


bob  2004-09-22 23:03:23  No: 11023

これではどう?

Component3.xxxx(btn as TComponent)


jam  2004-09-28 09:53:45  No: 11024

Component2 と Component3 の共通部を持つ上位クラスを作成し、
そこから Component2 と Component3 を派生するのが正しい
処方だと思いますが...


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加