static void Main(string[] args) { Beverage beverage = new Espresso(); Console.WriteLine($"{beverage.GetDescription()} {beverage.Cost()}"); Beverage beverage2 = new HouseBlend(); Console.WriteLine($"{beverage2.GetDescription()} {beverage2.Cost()}"); beverage2 = new Mocha(beverage2); beverage2 = new Mocha(beverage2); beverage2 = new Whip(beverage2); Console.WriteLine($"{beverage2.GetDescription()} {beverage2.Cost()}"); Beverage beverage3 = new HouseBlend(); Console.WriteLine($"{beverage3.GetDescription()} {beverage3.Cost()}"); beverage3 = new Mocha(beverage3); beverage3 = new Soy(beverage3); beverage3 = new Mocha(beverage3); beverage3 = new Whip(beverage3); Console.WriteLine($"{beverage3.GetDescription()} {beverage3.Cost()}"); Console.ReadLine(); }
static void Main(string[] args) { Beverage bev = new AfricanBlend(); Console.WriteLine( String.Format("{0} - ${1}", bev.GetDescription(), bev.GetCost())); bev = new HouseBlend(); Console.WriteLine( String.Format("{0} - ${1}", bev.GetDescription(), bev.GetCost())); bev = new Cream(bev); Console.WriteLine( String.Format("{0} - ${1}", bev.GetDescription(), bev.GetCost())); bev = new Cream(bev); Console.WriteLine( String.Format("{0} - ${1}", bev.GetDescription(), bev.GetCost())); Console.ReadLine(); }
static void Main(string[] args) { Beverage bev = new AfricanBlend(); Console.WriteLine( String.Format("{0} - ${1}", bev.GetDescription(), bev.GetCost())); bev = new HouseBlend(); Console.WriteLine( String.Format("{0} - ${1}", bev.GetDescription(), bev.GetCost())); bev = new Cream(bev); Console.WriteLine( String.Format("{0} - ${1}", bev.GetDescription(), bev.GetCost())); bev = new Cream(bev); Console.WriteLine( String.Format("{0} - ${1}", bev.GetDescription(), bev.GetCost())); // We'll decorate an interface rather than an abstract base class IPizza pizza = new LargePizza(); Console.WriteLine( String.Format("{0} - ${1}", pizza.GetDescription(), pizza.CalculateCost())); IPizza cheese = new Cheese(pizza); Console.WriteLine( String.Format("{0} - ${1}", cheese.GetDescription(), cheese.CalculateCost())); IPizza extra = new Cheese(cheese); Console.WriteLine( String.Format("{0} - ${1}", extra.GetDescription(), extra.CalculateCost())); IPizza sausage = new Sausage(extra); Console.WriteLine( String.Format("{0} - ${1}", sausage.GetDescription(), sausage.CalculateCost())); Console.ReadLine(); }
static void Main(string[] args) { Beverage beverage2 = new Espresso(); Beverage beverage2 = new HouseBlend(); Console.WriteLine(beverage2.GetDescription() + " " + beverage2.Cost()); Beverage beverage3 = new Espresso(); beverage2 = new Mocka(beverage2); Console.WriteLine(beverage2.GetDescription() + " " + beverage2.Cost()); }