⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 program.cs

📁 这是asp.net^和Visual C++Sharp编写的串并口通讯的书籍 源代码
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;

namespace _1
{
    class Shop
    {
        public void Construct(VehicleBuilder vb)
        {
            vb.BuildFrame();
            vb.BuildEngine();
            vb.BuildWheels();
            vb.BuildDoors();
        }
    }
    // 建造者
    abstract class VehicleBuilder
    {
        protected Vehicle vehicle;
        public Vehicle Vehicle
        {
            get { return vehicle; }
        }
        abstract public void BuildFrame();
        abstract public void BuildEngine();
        abstract public void BuildWheels();
        abstract public void BuildDoors();
    }

    // 具体建筑者1
    class MotorCycleBuilder : VehicleBuilder
    {
        override public void BuildFrame()
        {
            vehicle = new Vehicle("摩托车");
            vehicle["frame"] = "摩托车 框架";
        }
        override public void BuildEngine()
        {
            vehicle["engine"] = "500 毫升";
        }
        override public void BuildWheels()
        {
            vehicle["wheels"] = "2个车轮";
        }
        override public void BuildDoors()
        {
            vehicle["doors"] = "没有车门";
        }
    }

    // 具体建筑者2
    class CarBuilder : VehicleBuilder
    {
        override public void BuildFrame()
        {
            vehicle = new Vehicle("轿车");
            vehicle["frame"] = "轿车 框架";
        }
        override public void BuildEngine()
        {
            vehicle["engine"] = "2500 毫升";
        }
        override public void BuildWheels()
        {
            vehicle["wheels"] = "4个车轮";
        }
        override public void BuildDoors()
        {
            vehicle["doors"] = "4个车门";
        }
    }
    class Vehicle
    {
        private string type;
        private Hashtable parts = new Hashtable();
        public Vehicle(string type)
        {
            this.type = type;
        }
        public object this[string key]
        {
            get { return parts[key]; }
            set { parts[key] = value; }
        }
        public void Show()
        {
            Console.WriteLine(" ---------------------------");
            Console.WriteLine("交通工具类型: " + type);
            Console.WriteLine("框架 :        " + parts["frame"]);
            Console.WriteLine("发动机 :      " + parts["engine"]);
            Console.WriteLine("车轮数量:     " + parts["wheels"]);
            Console.WriteLine("车门数量:     " + parts["doors"]);
        }
    }
    public class BuilderApp
    {
        public static void Main(string[] args)
        {
            Shop shop = new Shop();
            VehicleBuilder builder1 = new CarBuilder();
            VehicleBuilder builder2 = new MotorCycleBuilder();
            // 显示创建产品
            shop.Construct(builder1);
            builder1.Vehicle.Show();
            shop.Construct(builder2);
            builder2.Vehicle.Show();
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -