Вызвать метод 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);
        }
    }

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


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

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

9   голосов , оценка 4 из 5
Похожие ответы