Adaptet_Model_BasketBallDemo
球員抽象類
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 籃球翻譯適配器
{
abstract class Player
{
protected string name;
public Player(string name)
{
this.name = name;
}
public abstract void Attack();
public abstract void Defense();
}
}
(前鋒 中鋒 後衛)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 籃球翻譯適配器
{
class Forwards : Player
{
public Forwards(string name) : base(name)
{
}
public override void Attack()
{
Console.WriteLine("前鋒 {0} 進攻",name);
}
public override void Defense()
{
Console.WriteLine("前鋒 {0} 防守",name);
}
}
}
外籍中鋒類
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 籃球翻譯適配器
{
class ForeignCenter
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
public void AttackInChinese()
{
Console.WriteLine("外籍球員 {0} 進攻",name);
}
public void DefenseInChinese()
{
Console.WriteLine("外籍球員 {0} 防守", name);
}
}
}
翻譯者類
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 籃球翻譯適配器
{
class Translator : Player
{
private ForeignCenter ForeignCenter = new ForeignCenter();
public Translator(string name) : base(name)
{
ForeignCenter.Name = name;
}
public override void Attack()
{
ForeignCenter.AttackInChinese();
}
public override void Defense()
{
ForeignCenter.DefenseInChinese();
}
}
}
客戶端
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 籃球翻譯適配器
{
class Program
{
static void Main(string[] args)
{
Player playerOne = new Forwards("鑫鑫");
playerOne.Attack();
Player playerTwo = new Center("爸爸");
playerTwo.Attack();
Translator ym = new Translator("姚明");
ym.Attack();
ym.Defense();
Console.ReadKey();
}
}
}