// See https://aka.ms/new-console-template for more information using Ch3Beverage; Beverage beverage = new Espresso(); beverage.Print(); Beverage beverage2 = new DarkRoast(); beverage2 = new Mocha(new Mocha(beverage2)); beverage2 = new Whip(beverage2); beverage2.Print(); Beverage beverage3 = new HouseBlend(); beverage3 = new Soy(beverage3); beverage3 = new Mocha(beverage3); beverage3 = new Whip(beverage3); beverage3.Print(); public static class BeveragePrintExtension { // Bored, I've mode an extension method to easily print a Beverage. LOL. // Because Bored, I didn't wrap this in a namespace... in real code it's necessary. public static void Print(this Beverage value) { Console.WriteLine($"{value.Description} ${value.Cost()}"); } }