zoukankan      html  css  js  c++  java
  • C# 模板方法(TempleteMethod)

    理解:当父类中有一个复杂主方法,主方法中大部分不变,只有小部分随子类变化时,把变化点提取出来成新的抽象子方法,让不同的子类去实现不同的子方法。这样主方法不变的部分就可以达到代码复用功能。

    代码:

    using System.Windows.Forms;

    namespace DesignMode.TempleteMethod
    {
        //抽象父类
        public abstract class FatherClass
        {
            //人生计划
            public void LifePlan()
            {
                MessageBox.Show("上中兴小学");
                MessageBox.Show("上中兴中学");
                University();
                MessageBox.Show("继承家业");
            }

            //让儿子去决定大学
            public abstract void University();

        }

        //子类一
        public class OneSon : FatherClass
        {
            public override void University()
            {
                MessageBox.Show("上北京大学");
            }
        }

        //子类二
        public class TwoSon : FatherClass
        {
            public override void University()
            {
                MessageBox.Show("上清华大学");
            }
        }

        //子类三
        public class ThreeSon : FatherClass
        {
            public override void University()
            {
                MessageBox.Show("国外留学");
            }
        }
    }

    客户端代码:

            private void btn_TempleteMethod_Click(object sender, EventArgs e)
            {
                FatherClass oneSon = new OneSon();
                oneSon.LifePlan();

                FatherClass twoSon = new TwoSon();
                twoSon.LifePlan();

                FatherClass threeSon = new ThreeSon();
                threeSon.LifePlan();
            }
  • 相关阅读:
    java 菜单
    QT 让信号自由飞翔(骚操作)
    QT editLine 无法输入的问题
    易经初学体会
    Cgroup
    springboot pom 引用集合
    使用ab测试工具 进行并发测试
    intellij 设置-试验过的
    【iis错误码】IIS 服务 这些年遇到的错误码
    101个创业失败案例背后的20大原因
  • 原文地址:https://www.cnblogs.com/kavilee/p/2361799.html
Copyright © 2011-2022 走看看