• 设计模式-生成者模式之c#代码


    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;

    namespace BuilderModel

    {   

      public class Bike  

      {      

           private int wheels;

            public int Wheels         {             get { return wheels; }             set { wheels = value; }         }        

           private int frams;

            public int Frams         {             get { return frams; }             set { frams = value; }         }        

        }

    }

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;

    namespace BuilderModel

    {    public abstract class BuilderBike   

      {        public abstract void BuilWheels(int wheeels);        public abstract void Buildframs(int frams);      

      public abstract Bike getBike();

        }

    }

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;

    namespace BuilderModel

    {   

    public class ConsBike:BuilderBike

         {

           Bike bike = new Bike();

            public override Bike getBike()    

           {   

      return bike;  

        }

            public override void BuilWheels(int wheels)   

          {      

           bike.Wheels = wheels;    

          }

            public override void Buildframs(int frams)   

          {    

             bike.Frams = frams;     

        }    

    }

    }

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;

    namespace BuilderModel

    {  

      public class DireBike    

    public void CreateBike(BuilderBike buildBike)    

        {       

         buildBike.Buildframs(1);      

          buildBike.BuilWheels(2);   

        }

        }

    }

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;

    namespace BuilderModel

    {    

    class Program

        {      

       static void Main(string[] args)    

         {       BuilderBike buildBike = new ConsBike();

                DireBike dirBike = new DireBike();   

              dirBike.CreateBike(buildBike);       

          Bike bike= buildBike.getBike();       

          Console.WriteLine("自行车的轮自有wheels="+bike.Wheels+"个"+" "+"架子frams="+bike.Frams+"个");          

       Console.ReadKey();     

        }

        }

    }

  • 相关阅读:
    从0到1构建适配不同端(微信小程序、H5、React-Native 等)的taro + dva应用
    一个基于Ionic3.x cordova的移动APP demo
    基于 MUI 构建一个具有 90 +页面的APP应用
    风清杨之Oracle的安装与说明
    浅析C#中的“==”和Equals
    window.open()的使用
    动态生成级联下拉框和多选框
    生成二维码的两种方式
    登录添加验证码校验
    oracle11g的安装以及配置
  • 原文地址:https://www.cnblogs.com/kexb/p/3651315.html
Copyright © 2020-2023  润新知