示例#1
0
        //Продукт, Кондитерское изделие, Товар, Цветы, Торт, Часы, Конфеты;

        static void Main(string[] args)
        {
            // Задание 1
            Console.WriteLine($"Задание №1");
            Sweets s1 = new Sweets("Алёнка");
            Sweets s0 = new Sweets("Пчёлка");

            Console.WriteLine(s1.Equals(s0));
            Console.WriteLine(s1.GetType());
            s1.ToString();
            Console.WriteLine(s1.GetHashCode());
            // Задание 2, 3, 4
            Console.WriteLine($"Задание №2,3,4");
            s1.GetInfo();             // Задание 2 virtual -> override
            Run m1 = new Run();       // интерфейс

            m1.GetInfo();             // вызванный из объекта Run
            ((IMovable)m1).GetInfo(); // вызванный из интерфейса IMovable
            // Задание 5
            Console.WriteLine($"Задание №5");
            Goods  a = new Goods();
            Sweets s = new Sweets();
            Goods  c = new Sweets();

            if (a is Goods)
            {
                Console.WriteLine("Переменная a имеет тип Goods");
            }
            if (s is Sweets)
            {
                Console.WriteLine("Тип переменной s унаследован от класса Goods");
            }
            if (c is Goods)
            {
                Console.WriteLine("Переменная c имеет тип Goods");
            }
            else
            {
                Console.WriteLine("Переменная c имеет тип Sweets");
            }
            // Задание 6, 7
            Console.WriteLine($"Задание №6,7");
            Clock s2 = new Clock("Rolex");
            Cake  s3 = new Cake("Графские развалины");

            object[] testArray = new object[] { s1, s2, s3 };
            Printer  p1        = new Printer();

            for (int i = 0; i < testArray.Length; i++)
            {
                p1.IAmPrinting(testArray[i]);
            }
        }