Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
4341
//Rextester.Program.Main is the entry point for your code. Don't change it. //Microsoft (R) Visual C# Compiler version 2.9.0.63208 (958f2354) using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; namespace Rextester { abstract public class Beverage { string description = "NULL"; abstract public string getDescription(); abstract public double cost(); } abstract public class Decorator : Beverage { protected Beverage beverage; } public class Espresso : Beverage { string description = "Espresso"; public override string getDescription() { return description; } public override double cost() { return 1.05; } } public class Milk : Decorator { public Milk(Beverage beverage) { this.beverage = beverage; } public override string getDescription() { return beverage.getDescription() + ", Milk"; } public override double cost() { return beverage.cost() + 0.33; } } public class DarkRoast : Beverage { string description = "DarkRoast"; public override string getDescription() { return description; } public override double cost() { return 3.15; } } public class HouseBlend : Beverage { string description = "HouseBlend"; public override string getDescription() { return description; } public override double cost() { return 2.25; } } public class Mocha : Decorator { public Mocha(Beverage beverage) { this.beverage = beverage; } public override string getDescription() { return beverage.getDescription() + ", Mocha"; } public override double cost() { return beverage.cost() + 0.25; } } public class Soy: Decorator { public Soy(Beverage beverage) { this.beverage = beverage; } public override string getDescription() { return beverage.getDescription() + ", Soy"; } public override double cost() { return beverage.cost() + 0.65; } } public class Cream : Decorator { public Cream(Beverage beverage) { this.beverage = beverage; } public override string getDescription() { return beverage.getDescription() + ", Cream"; } public override double cost() { return beverage.cost() + 1.4; } } public class Chocolad: Decorator { public Chocolad(Beverage beverage) { this.beverage = beverage; } public override string getDescription() { return beverage.getDescription() + ", Chocolad"; } public override double cost() { return beverage.cost() + 2; } } public class Program { public static void Main(string[] args) { Beverage beverage = new Espresso(); Console.WriteLine(beverage.getDescription() + " " + beverage.cost() + " $"); Beverage beverage2 = new Espresso(); beverage2 = new Milk(beverage2); beverage2 = new Cream(beverage2); beverage2 = new Cream(beverage2); Console.WriteLine(beverage2.getDescription() + " " + beverage2.cost() + " $"); Beverage beverage3 = new DarkRoast(); beverage3 = new Chocolad(beverage3); beverage3 = new Cream(beverage3); Console.WriteLine(beverage3.getDescription() + " " + beverage3.cost() + " $"); Beverage beverage4 = new HouseBlend(); beverage4 = new Milk(beverage4); beverage4 = new Mocha(beverage4); beverage4 = new Soy(beverage4); beverage4 = new Cream(beverage4); beverage4 = new Chocolad(beverage4); Console.WriteLine(beverage4.getDescription() + " " + beverage4.cost() + " $"); } } }
run
|
edit
|
history
|
help
0
Find longest span of characters in string
BFS DFS stack vs recursive
Collatz Conjecture Using Pi
jjj
q1
lab
fq
Types
MyProfile_MEDALLA.java
radix sort