C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 65 を表示中)
■37813 / )  Re[10]: 参照設定をしていない他プロジェクトのインスタンス生成
□投稿者/ tailer (25回)-(2009/07/01(Wed) 10:38:26)
No37798 (Jitta on the way さん) に返信
> ■No37797 (tailer さん) に返信
>  
>>Show()などのメソッドが定義されているインターフェースをForm継承クラスに実装する場合、それらのメソッドはFormで実装済みなので継承クラスでは何もしなくてよい、というようなことがどこかのサイトに書いてあったんですが、何もしないと「Show()を実装する必要があります」とコンパイルエラーが出て、やはり何かしなくてはならないのか?ということを聞きたかったんですが、これについてはもう少し情報を探してみることにします。
> 
> IForm というインターフェースに Show というメソッドを定義しました。これは、Form クラスが持っている Show メソッドとは別のものです。
> 
> 今回のは、Form というクラスが持っているメソッドしか使わないようですから、インターフェースを定義する必要はないと思います。


今回はたまたまFormクラスが持っているメソッドしか使いませんが、もしFormクラスが持っているメソッド以外のメソッドも併せて定義する場合…たとえば

Public Interface IForm
    Sub Show()
    Sub Method1()
End Interface

のような場合。そしてShow()は、FormクラスのShow()に紐づけたい。なぜなら、IForm型の変数で画面表示も行いたいから。
そんなとき、やはり実装クラスではShow()について何かしなければならないんですよね?
それとも、インターフェースはMethod1()の定義だけにしておいて、Formクラスのメソッドが使いたいときはインスタンスをForm型に、Method1()が使いたいときは
インスタンスをIForm型に格納する…という形で使い分けるの一般的?
そんな疑問でした。

解決済み
返信 編集キー/


管理者用

- Child Tree -