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();
            }
  • 相关阅读:
    >>> fout = open('output.txt', 'w') Traceback (most recent call last): File "<stdin>", line 1, in <module> PermissionError: [Errno 13] Permission denied: 'output.txt'
    Python元组术语
    Python元组与列表_元组与字典
    Python元组_参数长度可变
    Python元组_赋值与返回值
    Python元组_不可修改
    第二篇-bmob云端服务器的发现
    第一篇-关于语言与计划
    《JavaScript》JS中的常用方法attr(),splice()
    Java接口interface,匿名内部类
  • 原文地址:https://www.cnblogs.com/kavilee/p/2361799.html
Copyright © 2011-2022 走看看