Загрузка данных


using System;

namespace ExamHierarchy
{
    // Базовый класс
    class Ispytanie
    {
        public string Nazvanie { get; set; }
        public int MaxBall { get; set; }

        public Ispytanie(string nazvanie, int maxBall)
        {
            Nazvanie = nazvanie;
            MaxBall = maxBall;
        }

        public virtual void ShowInfo()
        {
            Console.WriteLine($"Испытание: {Nazvanie}");
            Console.WriteLine($"Максимальный балл: {MaxBall}");
        }
    }

    // Класс Тест
    class Test : Ispytanie
    {
        public int KolichestvoVoprosov { get; set; }

        public Test(string nazvanie, int maxBall, int kolichestvoVoprosov)
            : base(nazvanie, maxBall)
        {
            KolichestvoVoprosov = kolichestvoVoprosov;
        }

        public override void ShowInfo()
        {
            base.ShowInfo();
            Console.WriteLine($"Количество вопросов: {KolichestvoVoprosov}");
        }
    }

    // Класс Экзамен
    class Ekzamen : Ispytanie
    {
        public string Predmet { get; set; }

        public Ekzamen(string nazvanie, int maxBall, string predmet)
            : base(nazvanie, maxBall)
        {
            Predmet = predmet;
        }

        public override void ShowInfo()
        {
            base.ShowInfo();
            Console.WriteLine($"Предмет: {Predmet}");
        }
    }

    // Класс Выпускной экзамен
    class VypusknoiEkzamen : Ekzamen
    {
        public bool EstDiplom { get; set; }

        public VypusknoiEkzamen(string nazvanie, int maxBall, string predmet, bool estDiplom)
            : base(nazvanie, maxBall, predmet)
        {
            EstDiplom = estDiplom;
        }

        public override void ShowInfo()
        {
            base.ShowInfo();
            Console.WriteLine($"Выдается диплом: {(EstDiplom ? "Да" : "Нет")}");
        }
    }

    class Program
    {
        static void Main()
        {
            Test test = new Test("Тест по математике", 20, 10);
            Ekzamen ekzamen = new Ekzamen("Семестровый экзамен", 100, "Физика");
            VypusknoiEkzamen vypusknoi = new VypusknoiEkzamen("Выпускной экзамен", 100, "Информатика", true);

            test.ShowInfo();
            Console.WriteLine();

            ekzamen.ShowInfo();
            Console.WriteLine();

            vypusknoi.ShowInfo();
        }
    }
}