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

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

  • 相关阅读:
    tmux commands
    智能指针类HasPtr
    关于Vector中存放指针的问题
    面向对象的理解
    关系模型 超键 候选键 主键
    数据库的三个范式
    static struct QMetaObject const QwtPlot::staticMetaObjec
    static作用(修饰函数、局部变量、全局变量)
    C++全局变量之extern和static
    QTabWidget 使用小记
  • 原文地址:https://www.cnblogs.com/walden1024/p/4494938.html
Copyright © 2011-2022 走看看