示例#1
0
 static void Main(string[] args)
 {
     VendingMachine vm = new VendingMachine();
     vm.AddNickel();
     vm.AddDime();
     vm.AddNickel();
     vm.AddDime();
 }
示例#2
0
 public override void AddQuarter(VendingMachine vm)
 {
     vm.Vend();
     vm.ChangeState(Start.Instance());
 }
示例#3
0
文件: State.cs 项目: RocGod/brianrepo
 protected virtual void ChangeState(VendingMachine vm, State s)
 {
     vm.ChangeState(s);
 }
示例#4
0
 public override void AddNickel(VendingMachine vm)
 {
     this.ChangeState(vm,Twenty.Instance());
 }
示例#5
0
文件: State.cs 项目: RocGod/brianrepo
 public virtual void AddNickel(VendingMachine vm)
 {
 }
示例#6
0
文件: State.cs 项目: RocGod/brianrepo
 public virtual void AddQuarter(VendingMachine vm)
 {
 }
示例#7
0
文件: Start.cs 项目: RocGod/brianrepo
 public override void AddQuarter(VendingMachine vm)
 {
     vm.Vend();    // start over
 }
示例#8
0
文件: State.cs 项目: RocGod/brianrepo
 public virtual void AddDime(VendingMachine vm)
 {
 }
示例#9
0
文件: Start.cs 项目: RocGod/brianrepo
 public override void AddDime(VendingMachine vm)
 {
     ChangeState(vm, Ten.Instance());
 }
示例#10
0
文件: Start.cs 项目: RocGod/brianrepo
 public override void AddNickel(VendingMachine vm)
 {
     ChangeState(vm, Five.Instance());
 }
示例#11
0
文件: Five.cs 项目: RocGod/brianrepo
 public override void AddQuarter(VendingMachine vm)
 {
     vm.Vend();
     ChangeState(vm, Start.Instance());
     // no change returned :-)
 }
示例#12
0
 public virtual void AddNickel(VendingMachine vm)
 {
 }
示例#13
0
 protected virtual void ChangeState(VendingMachine vm, State s)
 {
     vm.ChangeState(s);
 }
示例#14
0
 public virtual void AddQuarter(VendingMachine vm)
 {
 }
示例#15
0
 public virtual void AddDime(VendingMachine vm)
 {
 }