模板钩子方法的学习

2019-04-14 18:01发布

//今天我们学习模板钩子方法 我们就拿请客吃饭来举例子,请客吃饭都是 去饭店 点餐 埋单 这几种方法那么我们就看看如何去用代码实现
abstract class Guests
{
//请客的模板方法
public virtual void Guest()
{
GoRestaurant();
Eat();
Accounts();
}
//请客吃饭:(1) 去饭店  (2) 吃东西 (3) 买单
void GoRestaurant()
{
Console.WriteLine(“走路去饭店”);
}
public abstract void Eat();
void Accounts()
{
Console.WriteLine(“我买单”);
}
}
class Girl : Guests
{
public override void Eat()
{
Console.WriteLine(“吃西餐”);
}
public override void Guest()
{
base.Guest();
Console.WriteLine(“买朵玫瑰花”);//这个是对方法的拓展
} } class Program
{
static void Main(string[] args)
{
Girl girl = new Girl();
girl.Guest();
}