VB.NETで、静的変数を継承するような動きをさせたいです。

どのようなアルゴリズムにすればよいでしょうか。

やりたいこと:
親クラスで定義されている静的変数を継承先のクラスのコンストラクタで上書きしたい。
※ 変数を使う処理自体はそのまま継承して使いたい。

例)
Public Class Wood
 Friend Shared name as String = "木の花" 'nameの値は、クラスごとに固定したい

 Public function message () 'message 関数の動きは継承先でも共通にしたい。
  Return name & "が咲いた。"
 End sub
End Class

Public Class Sakura
 Inherits Wood

 'このクラスでは、name は 「桜」
 Shared Sub new()
  name = "桜"
 End Sub
End Class

Public Class Ume
 Inherits Wood

 'このクラスでは、name は 「梅」
 Shared Sub new()
  name = "梅"
 End Sub
End Class


Public Class Main()
 Public Sub main()

  Dim wood as Wood = new Wood()
  MsgBox (Wood1.name & ":" & wood.message)    '"木の花:木の花が咲いた。" と表示したい

  Dim sakura as Sakura = new Sakura()
  MsgBox (Sakura .name & ":" & sakura.message)  '"桜:桜が咲いた。" と表示したい

  Dim ume as Ume = new Ume()
  MsgBox (Ume.name & ":" & ume.message)     '"梅:梅が咲いた。" と表示したい
 End Sub
End Class

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2014/10/14 17:37:16

ベストアンサー

id:degucho No.1

回答回数281ベストアンサー獲得回数75

Protectedで宣言してください
http://msdn.microsoft.com/ja-jp/library/76453kax.aspx

id:hina1981

ありがとうございます!
試してみます!!

2014/10/11 01:41:28
id:hina1981

試してみました。
想定通りに動きました。

ありがとうございました。

2014/10/14 17:37:39

コメントはまだありません

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

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

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

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