Head First C#
頭とからだで覚えるC#の基本
(オライリージャパン)
Andrew Stellman (著), Jennifer Green (著)
佐藤 嘉一 (監修), 木下 哲也 (翻訳)
開発環境
- Microsoft Windows 8.1 Pro (VMware Fusion 6, OS X Mavericks - Apple) (OS)
- C# (プログラミング言語)
- Microsoft Visual Studio Express 2013 for Windows Desktop (統合開発環境, IDE)
Head First C#―頭とからだで覚えるC#の基本 (Andrew Stellman (著)、Jennifer Green (著)、佐藤 嘉一 (監修)、木下 哲也 (翻訳)、オライリージャパン)の5章(継承: オブジェクトの系図)、エクササイズ(p.198)を解いてみる。
エクササイズ(p.198)
コード
Program.cs
using System;
namespace WindowsFormsApplication1
{
static class Program
{
/// <summary>
/// アプリケーションのメイン エントリ ポイントです。
/// </summary>
[STAThread]
static void Main()
{
A a = new A();
B b = new B();
C c = new C();
A a2 = new C();
string q = "";
// 出力の2行目
q += b.m1();
q += c.m2();
q += a.m3();
q += "\n";
// 出力の4行目
q += c.m1();
q += c.m2();
q += c.m3();
q += "\n";
// 出力の7行目
q += a.m1();
q += b.m2();
q += c.m3();
q += "\n";
// 出力の4行目
q += a2.m1();
q += a2.m2();
q += a2.m3();
System.Windows.Forms.MessageBox.Show(q);
}
}
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, ";
}
}
class B : A
{
public override string m1()
{
return "Bのm1, ";
}
}
class C : B
{
public override string m3()
{
return "Cのm3, " + (ivar + 6);
}
}
}
0 コメント:
コメントを投稿