private void button1_Click(object sender, EventArgs e) { #region 派生クラス01 // インスタンス生成 BaseCls derCls01 = new DerivationCls01(); textBox1.AppendText(string.Format(OUT_STR_FORMAT, "派生クラス01")); // メソッド01_基底オリジナル textBox1.AppendText(string.Format(OUT_STR_FORMAT, derCls01.Meth01(1, 2).ToString())); // メソッド02_基底オリジナル textBox1.AppendText(string.Format(OUT_STR_FORMAT, derCls01.Meth02(1, 2).ToString())); // メソッド03は基底クラスで宣言していないためエラーとなる #if ERROR textBox1.AppendText(string.Format(OUT_STR_FORMAT, derClass01.Meth03(1, 2).ToString())); #endif #endregion #region 派生クラス02 BaseCls derCls02 = new DerivationCls02(); textBox1.AppendText(string.Format(OUT_STR_FORMAT, "派生クラス02")); // メソッド01_基底オリジナル textBox1.AppendText(string.Format(OUT_STR_FORMAT, derCls02.Meth01(1, 2).ToString())); // メソッド02_基底オリジナル textBox1.AppendText(string.Format(OUT_STR_FORMAT, derCls02.Meth02(1, 2).ToString())); // メソッド03、04は基底クラスで宣言していないためエラーとなる #if ERROR textBox1.AppendText(string.Format(OUT_STR_FORMAT, derClass02.Meth03(1, 2).ToString())); textBox1.AppendText(string.Format(OUT_STR_FORMAT, derClass02.Meth04(1, 2).ToString())); #endif #endregion #region 派生クラス03 BaseCls derCls03 = new DerivationCls03(); textBox1.AppendText(string.Format(OUT_STR_FORMAT, "派生クラス03")); // メソッド01_派生先(隠蔽)ではなく基底クラスのものが使用される textBox1.AppendText(string.Format(OUT_STR_FORMAT, derCls03.Meth01(1, 2).ToString())); // メソッド02_派生先(オーバーライド)のものが使用される textBox1.AppendText(string.Format(OUT_STR_FORMAT, derCls03.Meth02(1, 2).ToString())); // メソッド03は基底クラスで宣言していないためエラーとなる #if ERROR textBox1.AppendText(string.Format(OUT_STR_FORMAT, derCls03.Meth03(1, 2).ToString())); #endif #endregion }
private void button1_Click(object sender, EventArgs e) { #region 派生クラス01 // インスタンス生成 DerivationCls01 derCls01 = new DerivationCls01(); textBox1.AppendText(string.Format(OUT_STR_FORMAT, "派生クラス01")); // メソッド01_基底オリジナル textBox1.AppendText(string.Format(OUT_STR_FORMAT, derCls01.Meth01(1, 2).ToString())); // メソッド02_基底オリジナル textBox1.AppendText(string.Format(OUT_STR_FORMAT, derCls01.Meth02(1, 2).ToString())); // メソッド03_派生オリジナル textBox1.AppendText(string.Format(OUT_STR_FORMAT, derCls01.Meth03(1, 2).ToString())); #endregion #region 派生クラス02 DerivationCls02 derCls02 = new DerivationCls02(); textBox1.AppendText(string.Format(OUT_STR_FORMAT, "派生クラス02")); // メソッド01_基底オリジナル textBox1.AppendText(string.Format(OUT_STR_FORMAT, derCls02.Meth01(1, 2).ToString())); // メソッド02_基底オリジナル textBox1.AppendText(string.Format(OUT_STR_FORMAT, derCls02.Meth02(1, 2).ToString())); // メソッド03_派生オリジナル textBox1.AppendText(string.Format(OUT_STR_FORMAT, derCls02.Meth03(1, 2).ToString())); // メソッド04_派生オリジナル textBox1.AppendText(string.Format(OUT_STR_FORMAT, derCls02.Meth04(1, 2).ToString())); #endregion #region 派生クラス03 DerivationCls03 derCls03 = new DerivationCls03(); textBox1.AppendText(string.Format(OUT_STR_FORMAT, "派生クラス03")); // メソッド01_派生new textBox1.AppendText(string.Format(OUT_STR_FORMAT, derCls03.Meth01(1, 2).ToString())); // メソッド02_派生オーバーライド textBox1.AppendText(string.Format(OUT_STR_FORMAT, derCls03.Meth02(1, 2).ToString())); // メソッド03_派生オリジナル textBox1.AppendText(string.Format(OUT_STR_FORMAT, derCls03.Meth03(1, 2).ToString())); #endregion #region 派生クラス11 DerivationCls11 derClass11 = new DerivationCls11(); textBox1.AppendText(string.Format(OUT_STR_FORMAT, "派生クラス11")); // メソッド01_基底オリジナル textBox1.AppendText(string.Format(OUT_STR_FORMAT, derClass11.Meth01(1, 2).ToString())); // メソッド02_基底オリジナル textBox1.AppendText(string.Format(OUT_STR_FORMAT, derClass11.Meth02(1, 2).ToString())); // メソッド03_派生オリジナル textBox1.AppendText(string.Format(OUT_STR_FORMAT, derClass11.Meth03(1, 2).ToString())); // メソッド11_派生オリジナル(孫クラス) textBox1.AppendText(string.Format(OUT_STR_FORMAT, derClass11.Meth11(1, 2).ToString())); #endregion }