设计模式(4)一――行为型模式(四)

2014-11-24 02:43:04 · 作者: · 浏览: 3
tion3();
}
}
class TestPaper2
{
public void TestQuestion1()
{
Console.WriteLine("杨过得到,后来给了郭靖,炼成倚天剑、屠龙刀的玄铁可能是【】a.球墨铸铁 b.马口铁 c.高速合金钢 d.碳素纤维");
Console.WriteLine("答案是:" + Answer1()); //使用虚方法
}
public virtual string Answer1() //添加一个虚方法,子类来实现这个虚方法
{
return "";
}

public void TestQuestion2()
{
Console.WriteLine("杨过、程英、陆无双铲除了青花,造成【】 a.使这种植物不再伤害人 b. 使一种珍惜物种灭绝 c.破坏了生物圈的生态平衡 d.造成该地区沙漠化");
Console.WriteLine("答案是:" + Answer2()); //使用虚方法
}
public virtual string Answer2() //添加一个虚方法,子类来实现这个虚方法
{
return "";
}

public void TestQuestion3()
{
Console.WriteLine("蓝凤凰致使华山师徒、桃谷六仙呕吐不止,如果你是大夫,会给他们开什么药【】 a.阿司匹林 b.牛黄解毒片 c.氟哌酸 d.让他们喝大量的牛奶 e.以上全不对");
Console.WriteLine("答案是:" + Answer3()); //使用虚方法
}
public virtual string Answer3() //添加一个虚方法,子类来实现这个虚方法
{
return "";
}
}
class TestPaperA2 : TestPaper2 //学生甲抄的试卷
{
public override string Answer1()
{
return "b";
}
public override string Answer2()
{
return "b";
}
public override string Answer3()
{
return "b";
}
}
class TestPaperB2 : TestPaper2 //学生乙抄的试卷
{
public override string Answer1()
{
return "b";
}
public override string Answer2()
{
return "b";
}
public override string Answer3()
{
return "b";
}
}
}
//10.3 把容易改变的设置为虚方法

namespace 模板方法模式
{
class Class2
{
static void Main(string[] args)
{
TestPaper2 studentA = new TestPaperA2();
studentA.TestQuestion1();
studentA.TestQuestion2();
studentA.TestQuestion3();
}
}
class TestPaper2
{
public void TestQuestion1()
{
Console.WriteLine("杨过得到,后来给了郭靖,炼成倚天剑、屠龙刀的玄铁可能是【】a.球墨铸铁 b.马口铁 c.高速合金钢 d.碳素纤维");
Console.WriteLine("答案是:" + Answer1()); //使用虚方法
}
public virtual string Answer1() //添加一个虚方法,子类来实现这个虚方法
{
return "";
}

public void TestQuestion2()
{
Console.WriteLine("杨过、程英、陆无双铲除了青花,造成【】 a.使这种植物不再伤害人 b. 使一种珍惜物种灭绝 c.破坏了生物圈的生态平衡 d.造成该地区沙漠化");
Console.WriteLine("答案是:" + Answer2()); //使用虚方法
}
public virtual string Answer2() //添加一个虚方法,子类来实现这个虚方法
{
return "";
}

public void TestQuestion3()
{
Console.WriteLine("蓝凤凰致使华山师徒、桃谷六仙呕吐不止,如果你是大夫,会给他们开什么药【】 a.阿司匹林 b.牛黄解毒片 c.氟哌酸 d.让他们喝大量的牛奶 e.以上全不对");
Console.WriteLine("答案是:" + Answer3()); //使用虚方法
}
public virtual string Answer3() //添加一个虚方法,子类来实现这个虚方法
{
return "";
}
}
class TestPaperA2 : TestPaper2 //学生甲抄的试卷
{
public override string Answer1()
{
return "b";
}
public override string Answer2()
{
return "b";
}
public override string Answer3()
{
return "b";
}
}
class TestPaperB2 : Test