Как работать с семейством по строковому ключу? - C#
Формулировка задачи:
Имеется класс Animal (по учебнику К. Ватсон)
Необходимо создать собственное семейство с именем «Моя ферма», реализовать строковый индексатор.
Я делаю это так, тоже по К. Ватсон
Вопрос: А как в основной программе задать этих животных?
Сейчас в Main у меня следующее:
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; } } }
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");
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д