Продвинутые возможности типов в C#
Основной курс показал класс, наследование и интерфейс как список обязанностей. Здесь те же типы получают более точные правила.
Член можно открыть не всем, а наследникам, своей сборке или сочетанию этих условий. Интерфейс умеет не только требовать метод, но и задать поведение сам: готовое тело или член, который относится к типу, а не к объекту. Сам тип записывают короче и строже, чем в основном курсе: что он хранит, как сравнивается, во что превращается и из каких частей собран.
Такие правила нужны, когда читаешь чужой код и проектируешь свои типы. В коротком консольном примере они редко решают задачу сами по себе.