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();
}
}
}