未分類

C# スーパークラスのメソッドを実行する

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にリストボックス (listBox1) を配置します。

サンプルコード (C#)

// 名前空間の追加
// (なし)

// クラスの宣言
public class TestClass1
{
  protected void Hello1(ListBox lstTarget)
  {
    lstTarget.Items.Add("Hello from TestClass1");
  }
}
  
public class TestClass2 : TestClass1
{
  public void Hello2(ListBox lstTarget)
  {
    base.Hello1(lstTarget);
    lstTarget.Items.Add("Hello from TestClass2");
  }
}

// コード
private void button1_Click(object sender, EventArgs e)
{
  TestClass2 tc2 = new TestClass2();
  tc2.Hello2(listBox1);
}

サンプルコード (C++/CLI)

この言語にはサンプルコードはありません。

解説

Test2 クラスは Test1 から継承されています。Test2 クラスから Test1 クラスのメソッドを実行するには、メソッド名の前に base. を付けます。この場合、Test1 クラスのメソッドは public または protected にする必要があります。protected にすると、外部に対しては非公開を維持しつつ、継承されたクラスからは実行できます。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)

-未分類