開発環境
- OS: Windows 10 Pro
- IDE(統合開発環境): Visual Studio Community 2017
Head First C# ―頭とからだで覚えるC#の基本 (Andrew Stellman (著)、Jennifer Greene (著)、佐藤 嘉一 (監修, 監修)、木下 哲也 (翻訳)、オライリージャパン)の5章(継承 - オブジェクトの系図)、エクササイズ(p. 198)を取り組んでみる。
コード
Form1.cs
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp14 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Mixed5 m = new Mixed5(); m.Run(); } } public class A { public int ivar = 7; public virtual string m1() { return "Aのm1, "; } public string m2() { return "Aのm2, "; } public virtual string m3() { return "Aのm3, "; } } public class B: A { public override string m1() { return "Bのm1, "; } } public class C : B { public override string m3() { return "Cのm3, " + (ivar + 6); } } public class Mixed5 { public void Run() { A a = new A(); B b = new B(); C c = new C(); A a2 = new C(); string q = ""; q += b.m1(); q += c.m2(); q += a.m3(); // Bのm1, Aのm2, Aのm3 MessageBox.Show(q); q = ""; q += c.m1(); q += c.m2(); q += c.m3(); // Bのm1, Aのm2, Cのm3, 13 MessageBox.Show(q); q = ""; q += a.m1(); q += b.m2(); q += c.m3(); // Bのm1, Aのm2, Cのm3, 13 MessageBox.Show(q); q = ""; q += a2.m1(); q += a2.m2(); q += a2.m3(); // Bのm1, Aのm2, Cのm3, 13 MessageBox.Show(q); } } }
0 コメント:
コメントを投稿