Делегаты
Делегат — это тип, который определяет подпись метода и его можно связать с любым методом с совместимой подписью. Метод можно запустить (или вызвать) с помощью делегата. Делегаты используются для передачи методов в качестве аргументов к другим методам. Обработчики событий - это методы, вызываемые с помощью делегатов.
Тип object
Тип object представляет собой псевдоним для Object в платформе .NET Framework. В унифицированной системе типов C# все типы, предопределенные и пользовательские, ссылочные типы и типы значений, наследуют непосредственно или косвенно от Object. Переменным типа object можно назначать значения любых типов. Когда переменная типа значения преобразуется в объект, говорят, что она упаковывается. Когда переменная типа object преобразуется в тип значения, говорят, что она распаковывается.
16.3. Графическая структура понятий оо Подхода

Все классы порождены от единого родителя – класса Object. Этот класс не имеет полей и свойств, но включает в себя методы самого общего назначения, обеспечивающие жизненный цикл любых объектов – от их создания до уничтожения. Нельзя создать класс, который не был бы дочерним классомObject.
Принцип наследования приводит к созданию ветвящегося дерева классов, постепенно разрастающегося от родителя к потомкам. Каждый потомок дополняет возможности своего родителя новыми свойствами и передает их своим потомкам.
Все объекты наделены определенными свойствами, которые в совокупности выделяют объект из множества других объектов.
Свойства - структура данных, характерных для этого объекта.
Преимущества ООП:
возможность многократного использования программного кода (порождение новых классов);
невозможность извне ничего изменить в объекте, если такое изменение является недопустимым;
объекты отображают реально существующие предметы или процессы.
