zoukankan      html  css  js  c++  java
  • 《大话设计模式》学习笔记7:模板方法模式

      

      

    考题试卷示例:

      

    1.试卷父类:

        public class TestPaper
        {
            public void TestQuestion1()
            {
                Console.WriteLine("杨过是哪部小说中的人物?a.飞狐外传 b.天龙八部 c.射雕英雄传 d.笑傲江湖");
                Console.WriteLine("答案:"+Answer1());
            }
            public void TestQuestion2()
            {
                Console.WriteLine("令狐冲是哪部小说中的人物?a.飞狐外传 b.天龙八部 c.射雕英雄传 d.笑傲江湖");
                Console.WriteLine("答案:" + Answer2());
            }
    
            public virtual string Answer1()
            {
                return "";
            }
            public virtual string Answer2()
            {
                return "";
            }
        }

    2.学生甲抄的试卷类:

        public class TestPaperA:TestPaper
        {
            public override string Answer1()
            {
                return "c";
            }
            public override string Answer2()
            {
                return "a";
            }
        }

    3.学生乙抄的试卷类:

        class TestPaperB:TestPaper
        {
            public override string Answer1()
            {
                return "b";
            }
            public override string Answer2()
            {
                return "d";
            }
        }

    4.客户端代码:

        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("学生甲抄的试卷:");
                TestPaper studentA = new TestPaperA();
                studentA.TestQuestion1();
                studentA.TestQuestion2();
    
                Console.WriteLine("学生乙抄的试卷:");
                TestPaper studentB = new TestPaperB();
                studentB.TestQuestion1();
                studentB.TestQuestion2();
            }
        }

      当我们要完成在某一细节层次一致的一个过程或一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们通常考虑使用模板方法模式来处理。

  • 相关阅读:
    微服务云部署
    监控linux服务器
    k6 常见测试模式说明
    k6 使用参考
    dremio 开发测试简单说明
    cube.js prepareCompiler api 试用
    cube.js schema 预编译处理
    cube.js driver 开发一些说明
    cube.js mssql driver 问题
    cube.js s3 FileRepository 新功能
  • 原文地址:https://www.cnblogs.com/walden1024/p/4494938.html
Copyright © 2011-2022 走看看