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();
            }
  • 相关阅读:
    [转] word2vec
    跨平台踩的一个大坑!
    在C 与 C++混编中, 出现error LNK2019: 无法解析的外部符号 "int __cdecl main_(int,char * *)" (?main_@@YAHHPEAPEAD@Z),该符号在函数 main 中被引用
    opencv2corecuda.hpp(106): error C2059: 语法错误:“常量”
    opencv2flannmatrix.h(69): error C2059: 语法错误:“,”
    C调用C++, C++调用C方法
    python与C,在写程序时踩过的坑!
    VS2015 + OPENCV + CUDA 安装流程
    CC++学习笔记 3
    CC++学习笔记 2
  • 原文地址:https://www.cnblogs.com/kavilee/p/2361799.html
Copyright © 2011-2022 走看看