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 (著)、佐藤 嘉一 (監修)、木下 哲也 (翻訳)、オライリージャパン)の6章(インタフェースと抽象クラス: クラスに約束を守らせる)、プールパズル(p.257)を解いてみる。
プールパズル(p.257)
コード
Program.cs
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
class Of76 : Clowns
{
public override string Face
{
get
{
return "Of76";
}
}
static void Main()
{
string result = "";
Nose[] i = new Nose[3];
i[0] = new Acts();
i[1] = new Clowns();
i[2] = new Of76();
for (int x = 0; x < 3; ++x)
{
result += i[x].Ear() + " " + i[x].Face + "\n";
}
MessageBox.Show(result);
}
}
interface Nose
{
int Ear();
string Face { get; }
}
abstract class Picasso : Nose
{
string face;
public Picasso(string face)
{
this.face = face;
}
public virtual string Face
{
get { return face; }
}
public virtual int Ear()
{
return 7;
}
}
class Clowns : Picasso
{
public Clowns() : base("Clowns") { }
}
class Acts : Picasso
{
public Acts()
: base("Acts") { }
public override int Ear()
{
return 5;
}
}
}
0 コメント:
コメントを投稿