设计模式-生成者模式之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+"个"+"\t"+"架子frams="+bike.Frams+"个");
Console.ReadKey();
}
}
}
最新文章
- JaveScript-解决表格使用滚动条时冻结表头栏问题
- 安装freetds小记
- Apache Spark技术实战之7 -- CassandraRDD高并发数据读取实现剖析
- You and Your Research(Chinese)
- SPRING IN ACTION 第4版笔记-第九章Securing web applications-004-对密码加密passwordEncoder
- vi的撤销命令
- C# 代码中 计算某个函数 或WebService 请求花费时间
- dede 删除栏目文章后, 让ID从1开始
- Java代理详解
- sql基本知识
- dedecms系统后台登陆提示用户名密码不存在
- win10安装tensorflow-gpu1.13.1+cuda10.0+cudnn7.3.1
- Spring Boot 2.0 教程 | @ModelAttribute 注解
- 自己练习的一个小的demo的时候a标签关于href链接的问题
- python第六章:三大利器(装饰器,迭代器,生成器)--小白博客
- IDEA run下output标签悬浮/弹出状态
- BZOJ5091: [Lydsy1711月赛]摘苹果【期望DP】
- pre,html转义,abbr缩写,表格table
- iOS截屏功能
- Go 问题集