设计模式06_桥接模式
设计模式学习笔记_桥接模式
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 桥接_咖啡加糖 { abstract class Add_into_coffee { public abstract void add_into(); } class add_Sugar:Add_into_coffee { public override void add_into() { Console.Write("添加了糖的"); } } class add_Lemon:Add_into_coffee { public override void add_into() { Console.Write("添加了Lemon的"); } } class add_Milk:Add_into_coffee { public override void add_into() { Console.Write("添加了牛奶的"); } } abstract class Coffee { protected Add_into_coffee add_into; public void setAdd_into_coffee(Add_into_coffee add_into) { this.add_into = add_into; } public abstract void size(); } class JorumCoffee:Coffee { public override void size() { add_into.add_into(); Console.WriteLine("大杯咖啡"); } } class MediumCoffee : Coffee { public override void size() { add_into.add_into(); Console.WriteLine("中杯咖啡"); } } class SmallCoffee : Coffee { public override void size() { add_into.add_into(); Console.WriteLine("小杯咖啡"); } } class Program { static void Main(string[] args) { Coffee cof; cof = new MediumCoffee(); cof.setAdd_into_coffee(new add_Sugar()); cof.size(); cof = new SmallCoffee(); cof.setAdd_into_coffee(new add_Lemon()); cof.size(); Console.Read(); } } }