出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

[5004] Re:ASPで継承
投稿者:暇人さん 2005/04/20 16:26:48
インターフェース部は前回送信分で全てです。
以下継承先の例。

Class test
public property
function method(a,b)
metod = "test"
end function
End Class

Dim strError
strError = Ride("interface","test")

If strError <> "" Then
Response.Write strError
Response.End
End If


Ride関数を実行する事により、インターフェース継承みたいな何かをします。
Ride関数の引数は文字列です。
インターフェース(継承元)が第一引数。
継承先が第二引数となります。

クラスtestはテスト用のいいかげんなクラスです。プロパティが足りないのでその旨表示されるはずです。本番ではちゃんとした継承先クラスを作成してください。


問題点
1、関数Rideを連発すれば多重継承もどきが可。しかし多重継承した際、同じメソッドが異なるインターフェース上に存在してもエラーしない。
2、関数Rideを読んだ際、クラスの初期化が自動実行されてしまう。

注意というか言い訳
1、もともとのコードはもっと長く、そこから切り出してます。エラーしたらごめんなさい。
2、IE5.0以上、ようするにVBS5.0以上がサーバーに入っていないと動きません。

関数Rideをうまいこと改造すると継承もどきもできますね。
その場合、継承元のクラスに配列metodと配列propertyを必ず常備しないといけないんですが。

ASPで継承   kenさん [2005/03/22 17:13:29] [4962]
  Re:ASPで継承   暇人さん [2005/03/22 17:29:35] [4963]
    Re:ASPで継承   kenさん [2005/03/22 18:39:14] [4964]
      Re:ASPで継承   暇人さん [2005/03/24 12:29:25] [4967]
        Re:ASPで継承   kenさん [2005/03/24 13:43:25] [4968]
          Re:ASPで継承   暇人さん [2005/04/20 16:09:13] [5003]
            Re:ASPで継承   暇人さん [2005/04/20 16:26:48] [5004]


TreeBBS For ASP V.0.1.3
Program By YasNet