【VB6について質問です】Formをコールする箇所で、Formで必ず呼び出される関数Aの処理を指定したいと思います(C#でいうとデリゲートのようなイメージ)。

とりあえず以下のようにFormにクラスを渡し、呼び出すことで対応できるか検討する予定です。

[宣言]

クラス名 ポケモン{
 メソッド名:アタック・・・内容(属性なし攻撃)
}
クラス名 ぴかちゅう(ポケモンから派生する){
 メソッド名:アタック・・・内容(雷属性攻撃)
}
クラス名 ヒトカゲ(ポケモンから派生する){
 メソッド名:アタック・・・内容(火属性攻撃)
}

[手順]
手順1:Formでポケモンを宣言する
手順2:Formをコールする箇所で、任意のポケモン(ぴかちゅう)をFormに渡す(渡したデータはFormに存在するポケモンにキャストされる)。
手順3:Formからポケモンのアタックをコールする(雷属性攻撃になる。つまり関数Aの処理を指定することができた)。

というイメージです。
勘違いや、より良い方法などありましたらアドバイス宜しくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2010/04/13 11:36:27
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:koriki-kozou No.1

回答回数480ベストアンサー獲得回数79

ポイント100pt

VB6でクラス継承

http://blogs.wankuma.com/rti/archive/2008/01/16/117716.aspx

>VB6 だとクラスが継承できない

>幸い VB6 はインターフェイスが使えるので、IMember としてインターフェイスを定義して、実装は Member クラスをラッピングすることにしました。

id:harunoharuno

質問を残してくれたことに価値はありますがプラスアルファがないので10Pointということで

と思ったけど、、60Point以下つかないのね。

いずれにせよより内容のある回答をお待ちしています。

2010/04/13 02:18:19
  • id:HALSPECIAL
    HALSPECIAL 2010/04/06 18:30:02
    VB6は、クラスの継承はできない
    と思いましたよ!!
    オーバーライドも。
  • id:harunoharuno
    コメントありがとうございます。
    VBでは継承などはできないのですね。とりあえず、
    インターフェースなどを利用すればやりたいことができるような気がしますのでそちらで実装に挑戦してみようと思います。
  • id:HALSPECIAL
    HALSPECIAL 2010/04/06 23:11:17
    このへんでしょうか。

    VB6 だとクラスが継承できない
    幸い VB6 はインターフェイスが使えるので、IMember としてインターフェイスを定義して、実装は Member クラスをラッピングすることにしました。
    http://blogs.wankuma.com/rti/archive/2008/01/16/117716.aspx
  • id:harunoharuno
    >>http://blogs.wankuma.com/rti/archive/2008/01/16/117716.aspx
    そうこれで対応しようと考えていました。
    ですが残念ながら本質門の自動終了までに
    実際に動作確認はできませんでした。
  • id:harunoharuno
    HALSPECIALさん
    にPoint送りたいので回答していただけないですか(汗)
  • id:koriki-kozou
    koriki-kozou 2010/04/13 02:39:38
    コメント欄とみごとに重複してましたので図解入りのページをコメントします
    http://www.mb.ccnw.ne.jp/garger-studio/gameprog/vb0084.html
  • id:harunoharuno
    回答ありがとうございます。
    参考になります。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません