zoukankan      html  css  js  c++  java
  • 设计模式之模板方法模式

      模板方法模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。

    模板方法模式是通过把不变行为搬到超类,去除子类中的重复代码来体现它的优势。

    当不变和可变的行为在方法的子类实现中混合在一起的时候,不变的行为就会在子类中重复出现。我们通过模板方法模式把这些行为搬到单一的地方,这样就帮助子类摆脱重复的不变行为的纠缠。(转至大话设计模式)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 模板方法模式
    {
        class Exam
        {
            public void Test01()
            {
                Console.WriteLine("第一题:");
                Console.WriteLine("答案:"+answer1());
            }
            public virtual string answer1()
            {
                return "error";
            }
            public void Test02()
            {
                Console.WriteLine("第二题:");
                Console.WriteLine("答案:"+answer2());
            }
            public virtual string answer2()
            {
                return "error";
            }
        }
        class StuA:Exam
        {
            public override string answer2()
            {
                return "A";
            }
            public override string answer1()
            {
                return "A";
            }
        }
        class StuB:Exam
        {
            public override string answer2()
            {
                return "B";
            }
            public override string answer1()
            {
                return "B";
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                Exam stuA = new StuA();
                stuA.Test01();
                Exam stuB = new StuB();
                stuB.Test02();
                Console.ReadKey();
            }
        }
    }

  • 相关阅读:
    robotframework使用之 下拉框处理
    Python操作MySQL
    Python发送邮件
    Redis 常用命令
    安装htop教程及坑
    探索式测试-概述
    Git相关命令教程
    [精华][推荐]SSO CAS单点登录框架学习 环境搭建
    [精华][推荐]SSO CAS单点登录框架学习 搭建详细步骤及源码
    [精华][推荐]CAS实现单点登录实例源码
  • 原文地址:https://www.cnblogs.com/JsonZhangAA/p/5503238.html
Copyright © 2011-2022 走看看