Разработать в среде Microsoft Visual C# приложение Windows Forms, представляющее собой иерархию классов предметной области - Квитанция, накладная, документ, счет
В классах описать конструкторы с параметрами и конструкторы по умолчанию, свойства для установки и получения значений полей классов, методы для описания поведения объектов. Каждый из создаваемых классов должен иметь не менее трёх методов, свойств, конструкторов.
Для каждого созданного класса переопределить методы Equals и ToString класса оbject. Метод Equals переопределить так, чтобы объекты считались равными, если равны значения полей объектов, а не ссылки объектов.
Для визуализации, разработанной иерархии классов и их элементов, создать диаграмму классов (Class Diagram) средствами Microsoft Visual Studio.
Разработанное приложение должно содержать интерфейс Windows Forms и демонстрировать всю реализованную функциональность классов. Необходимо создать массив из объектов базового класса, заполнить его ссылками на производные классы, вывести на экран элементы массива, создать два объекта базового класса с совпадающими данными и проверить, что ссылки на объекты не равны, а объекты равны, вывести значения хеш-кодов для объектов
Разработанное приложение должно содержать интерфейс Windows Forms и демонстрировать применение интерфейсных ссылок.
Составить отчет по лабораторной работе в электронном виде, в котором представить описание созданного приложения в виде скриншотов форм с пояснениями. К отчету приложить архив проекта, разработанного приложение Windows Forms.