using System;
// Базовый класс Animal
class Animal
{
public string food;
public string location;
public Animal(string food, string location)
{
this.food = food;
this.location = location;
}
public virtual void MakeNoise()
{
Console.WriteLine("Животное шумит");
}
public virtual void Eat()
{
Console.WriteLine("Животное ест");
}
public virtual void Sleep()
{
Console.WriteLine("Животное спит");
}
}
// Класс Dog
class Dog : Animal
{
public Dog(string food, string location) : base(food, location) { }
public override void MakeNoise()
{
Console.WriteLine("Собака лает");
}
public override void Eat()
{
Console.WriteLine("Собака ест " + food);
}
}
// Класс Cat
class Cat : Animal
{
public Cat(string food, string location) : base(food, location) { }
public override void MakeNoise()
{
Console.WriteLine("Кошка мяукает");
}
public override void Eat()
{
Console.WriteLine("Кошка ест " + food);
}
}
// Класс Horse
class Horse : Animal
{
public Horse(string food, string location) : base(food, location) { }
public override void MakeNoise()
{
Console.WriteLine("Лошадь ржёт");
}
public override void Eat()
{
Console.WriteLine("Лошадь ест " + food);
}
}
// Главный класс
class Program
{
static void Main()
{
Dog dog = new Dog("мясо", "двор");
Cat cat = new Cat("рыба", "дом");
Horse horse = new Horse("сено", "поле");
dog.MakeNoise();
dog.Eat();
dog.Sleep();
Console.WriteLine();
cat.MakeNoise();
cat.Eat();
cat.Sleep();
Console.WriteLine();
horse.MakeNoise();
horse.Eat();
horse.Sleep();
}
}