2016-11-21 6 views
0

私は20以上の記事を検索しましたが、私はまだ相続と少し混同しています。私は、次のような三つのクラスがあります。継承の混乱vb.net

Class A 

    Private _Mode As String 

    Public Function returnMode() As String 
     Return _Mode 
    End Function 

Class B 
    Inherits Class A 

    Private _Mode As String = "modeb" 

Class C 
    Inherits Class A 

    Private _Mode As String = "modec" 

を今、私はBまたはCクラスを作成して任意の時間は、私が子供のクラス_modeを返すためにオブジェクトをしたいと思います。私はNew()関数を_Mode = "modeb"にすることができますが、より良い方法やより正確な方法を知りたかったのです。

変数_Modeを正しく宣言するにはどうすればよいですか?

+0

は '私が正しいanswer'の答えを見つけたかもしれません何?あなたの投稿のうち実際に質問をしたことはありません。 [Ask]を読むか[ツアー]を読むのが遅すぎることはありません – Plutonix

+0

親クラスの代わりに変数の値を子クラスが決定するクラスのインスタンスを呼びたいと思います。私は、クラスBのような行動したい:新B b.returnMode() として プライベートB - 私はMODEBを返すために、最後の行をしたいと「」 ^^^私はこれをどのように行うのですか? –

答えて

0

1つのオプションは、_ModeProtectedの代わりPrivateので、あなたはサブクラスからそれを設定し、値を設定することができますを作ることであろうサブクラスのコンストラクタさ:

Class A 

    Protected _Mode As String 

    Public Function returnMode() As String 
     Return _Mode 
    End Function 

Class B 
    Inherits Class A 

    Public Sub New() 
     _Mode = "modeb" 
    End Sub 

Class C 
    Inherits Class A 

    Public Sub New() 
     _Mode = "modec" 
    End Sub 
+0

かなり正確に私が意味し、正確にそれを行う方法。ありがとうございました。 –