1. Реализовать иерархию классов с использованием абстрактного класса в качестве основы иерархии. Разработать поля, методы, и свойства для каждого из определяемых классов. Все поля классов должны быть описаны с ключевым словом private.
2. Показать на примере одного из методов, присутствующих в каждом классе свойство полиморфизма.
Скопировать полученную программу в новый файл и дополнить её реализацией механизмов интерфейса, при этом один из классов должен реализовывать как минимум 2 интерфейса. Также нужно использовать для проверки всех методов данного класса многоадресный делегат.
В итоге должно получиться 2 файла. Один с базовой версией кода и второй с дополненной. Нужны оба по отдельности.