Вызвать метод cofee.GetDescription() переопределенный классом Milk - C#

Узнай цену своей работы

Формулировка задачи:

Помогите, пожалуйста. Хочу вызвать метод cofee.GetDescription() переопределенный классом Milk, но никак не могу это сделать...
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. abstract public class Beverage
  8. {
  9. protected String description = "Unknown";
  10. public virtual string GetDescription()
  11. {
  12. return description;
  13. }
  14. }
  15. public class Espresso : Beverage
  16. {
  17. public Espresso() { description = "Espresso"; }
  18. }
  19. abstract public class CondimentDecorator : Beverage
  20. {
  21. abstract public new string GetDescription();
  22. }
  23. public class Milk : CondimentDecorator
  24. {
  25. Beverage beverage;
  26. public Milk(Beverage beverage)
  27. {
  28. this.beverage = beverage;
  29. }
  30. public override string GetDescription()
  31. {
  32. return beverage.GetDescription() + ", milk";
  33. }
  34. }
  35. class Program
  36. {
  37. static void Main()
  38. {
  39. Beverage cofee = new Espresso();
  40. cofee = new Milk(cofee);
  41. Console.WriteLine(cofee.GetDescription());
  42. Console.ReadKey();
  43. }
  44. }

Решение задачи: «Вызвать метод cofee.GetDescription() переопределенный классом Milk»

textual
Листинг программы
  1.     public abstract class Beverage
  2.     {  
  3.         public virtual string Description
  4.         {
  5.             get { return "Unknown beverage";}
  6.             private set {}
  7.         }
  8.  
  9.         public virtual double Cost { get; private set; }
  10.     }
  11.  
  12.     public abstract class CondimentDecorator : Beverage
  13.     {
  14.         protected Beverage beverage;
  15.     }
  16.  
  17.     public class Espresso : Beverage
  18.     {
  19.         public override string Description
  20.         {
  21.             get { return "Espresso"; }
  22.             private set {}
  23.         }
  24.  
  25.         public override double Cost
  26.         {
  27.             get { return 2.0; }
  28.             private set {}
  29.         }
  30.     }
  31.  
  32.     public class Milk : CondimentDecorator
  33.     {
  34.         public Milk(Beverage beverage)
  35.         {
  36.             this.beverage = beverage;
  37.         }
  38.  
  39.         public override double Cost
  40.         {
  41.             get { return 0.2 + beverage.Cost; }
  42.             private set {}
  43.         }
  44.  
  45.         public override string Description
  46.         {
  47.             get { return beverage.Description + ", Milk"; }
  48.             private set {}
  49.         }
  50.     }
  51.  
  52.     internal class Program
  53.     {
  54.         public static void Main(string[] args)
  55.         {
  56.             Beverage coffee = new Espresso();
  57.             CondimentDecorator milkAdd = new Milk(coffee);
  58.  
  59.             Console.WriteLine(milkAdd.Description);
  60.             Console.WriteLine(milkAdd.Cost);
  61.         }
  62.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы