static void Main(string[] args) {//Поработать с объектами через ссылки на абстрактные классы и интерфейсы Pastry pastry = new Pastry(1, 50, "и М и Ж", "шоколадный"); pastry.Info(); Flower flower1 = new Flower(15, 30, "девушкам", "Розы", "Красные", true);//создаем объект класса Flower flower1.Info(); Flower flower2 = new Flower(15, 50, "девушкам", "Лилии", "Белые", true); flower2.Info(); flower1.Equals(flower2); flower1.ToString(); flower2.GetHashCode(); Cake cake = new Cake(2, 100, "Для всех", "Ванильный", 3); cake.Info(); Clock clock = new Clock(1, 150, "Для мужчины", "серебрянные"); clock.Info(); Sweet sweet = new Sweet(50, 7, "Для ребенка", "леденцы"); sweet.Info(); Goods goods = new Goods(5, 15, "для всех", false, "металл"); goods.Info(); Goods myka = new Goods(7, 25, "детям", true, "ваниль"); IMyka mykaa = myka as IMyka; mykaa.Info(); mykaa.Sostav(); ITesto testo = new Goods(1, 100, "девушкам", false, "шоколадный"); testo.Info(); testo.Sostav(); //Создайте массив, содержащий ссылки на разнотипные объекты ваших классов, а также объект класса Printer и последовательно вызовите его метод iAmPrinting Printer splinter = new Printer(); Product[] mas = { pastry, flower1, flower2, cake, sweet }; Console.WriteLine("Информация: "); for (int i = 0; i < mas.Length; i++) { if (splinter is Printer) { splinter.iAmPrinting(mas[i]); } } }