using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
/*
 
 
 模板方法模式
 
 
 */
namespace App_MYCS.HDL_SJMS.MBFFMS
{
    class my_MBFFMS
    {
        public void dy()
        {
            class_mbffms a = new class_mbffms_zl();
            a.mbffmsFunction();
            class_mbffms b = new class_mbffms_zl2();
            b.mbffmsFunction();
        }
}
    //模板方法类//或用抽像类
    class class_mbffms
    {
        public void mbffmsFunction()
        {
            Console.WriteLine("这里调用自己的虚方法");
            fungctions();
        }
        protected virtual string fungctions()//虚方法
        {
            return "";
        }
    }
    //子类去实现不同的
    class class_mbffms_zl:class_mbffms
    {
        protected override string fungctions()
        {
            return "aaa";
        }
    }
    class class_mbffms_zl2 : class_mbffms
    {
        protected override string fungctions()
        {
            return "bbb";
        }
    }
}
原文:http://www.cnblogs.com/longkai178/p/5815110.html