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();
            }
  • 相关阅读:
    每日总结
    每日总结
    团队冲刺阶段二(10)
    团队冲刺阶段二(9)
    团队冲刺阶段二(8)
    团队冲刺阶段二(7)
    团队冲刺阶段二(6)
    团队冲刺阶段二(5)
    团队冲刺阶段二(4)
    根据Panda Global了解,中央政治局第十八次集体学习中指出“区块链技术的集成应用在新的技术革新和产业变革中起着重要作用”
  • 原文地址:https://www.cnblogs.com/kavilee/p/2361799.html
Copyright © 2011-2022 走看看