Вызвать метод cofee.GetDescription() переопределенный классом Milk - C#
Формулировка задачи:
Помогите, пожалуйста. Хочу вызвать метод cofee.GetDescription() переопределенный классом Milk, но никак не могу это сделать...
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- abstract public class Beverage
- {
- protected String description = "Unknown";
- public virtual string GetDescription()
- {
- return description;
- }
- }
- public class Espresso : Beverage
- {
- public Espresso() { description = "Espresso"; }
- }
- abstract public class CondimentDecorator : Beverage
- {
- abstract public new string GetDescription();
- }
- public class Milk : CondimentDecorator
- {
- Beverage beverage;
- public Milk(Beverage beverage)
- {
- this.beverage = beverage;
- }
- public override string GetDescription()
- {
- return beverage.GetDescription() + ", milk";
- }
- }
- class Program
- {
- static void Main()
- {
- Beverage cofee = new Espresso();
- cofee = new Milk(cofee);
- Console.WriteLine(cofee.GetDescription());
- Console.ReadKey();
- }
- }
Решение задачи: «Вызвать метод cofee.GetDescription() переопределенный классом Milk»
textual
Листинг программы
- public abstract class Beverage
- {
- public virtual string Description
- {
- get { return "Unknown beverage";}
- private set {}
- }
- public virtual double Cost { get; private set; }
- }
- public abstract class CondimentDecorator : Beverage
- {
- protected Beverage beverage;
- }
- public class Espresso : Beverage
- {
- public override string Description
- {
- get { return "Espresso"; }
- private set {}
- }
- public override double Cost
- {
- get { return 2.0; }
- private set {}
- }
- }
- public class Milk : CondimentDecorator
- {
- public Milk(Beverage beverage)
- {
- this.beverage = beverage;
- }
- public override double Cost
- {
- get { return 0.2 + beverage.Cost; }
- private set {}
- }
- public override string Description
- {
- get { return beverage.Description + ", Milk"; }
- private set {}
- }
- }
- internal class Program
- {
- public static void Main(string[] args)
- {
- Beverage coffee = new Espresso();
- CondimentDecorator milkAdd = new Milk(coffee);
- Console.WriteLine(milkAdd.Description);
- Console.WriteLine(milkAdd.Cost);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д