Как работать с семейством по строковому ключу? - C#

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

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

Имеется класс Animal (по учебнику К. Ватсон)
 public abstract class Animal
    {
        protected string name;
        public string Name
        { get { return name; } set { name = value; } }
        public Animal()
                 //животное без имени.
        { name = "The animal with no name."; }
        public Animal(string newName)
        { name = newName; }
        public void Feed()
                                 //... накормленаю.
        { Console.WriteLine("{0} has been fed.", name); }
    }
    public class Cow : Animal
    {
        public void Milk()
                                 //... дает молоко.
        { Console.WriteLine("{0} has been milked.", name); }
        public Cow(string newName) : base(newName)
        { }
    }
    public class Chicken : Animal
    {
        public void LayEgg()
                                //... несет яйца.
        { Console.WriteLine("{0} has laid an egg.", name); }
        public Chicken(string newName) : base (newName)
        { }
    }
    public class Dog : Animal
    {
        public void Laity()
                              //... лает.
        { Console.WriteLine("{0} has been laity.", name); }
        public Dog(string newName) : base (newName)
        { }   
    }
Необходимо создать собственное семейство с именем «Моя ферма», реализовать строковый индексатор. Я делаю это так, тоже по К. Ватсон
 public class Animals_kluch : DictionaryBase
    {
        public void Add(string newID, Animal newAnimal)
        {
            Dictionary.Add(newID, newAnimal);
        }
        public void Remove(string animalID)
        {
            Dictionary.Remove(animalID);
        }
        public Animal this[string animalID]
        {
          get { return (Animal)Dictionary[animalID]; }
          set { Dictionary[animalID] = value; }
        }
    }
Вопрос: А как в основной программе задать этих животных? Сейчас в Main у меня следующее:
Dictionary<string, Animal> myAnimal = new Dictionary<string, Animal>();
            //как их ввести
            Animal cow = myAnimal["Dysa"];
            Console.WriteLine("По ключу 'Dysa':");
            Console.WriteLine("Name: {0}", cow.Name);
            Console.ReadLine();

Решение задачи: «Как работать с семейством по строковому ключу?»

textual
Листинг программы
myAnimal["Dysa"] = new Cow("Dysa");

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


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

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

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