logo
CSharp_Prog_Guide

Полиморфизм

За счет наследования класс может использоваться в качестве нескольких типов; он может использоваться как собственный тип, любой базовый тип или тип любого интерфейса, если он реализует интерфейсы. Это называется полиморфизмом. В языке C# каждый тип обладает полиморфизмом. Типы могут использоваться в качестве экземпляров своего типа или типа Object, потому что любой тип автоматически использует тип Object в качестве базового.

Полиморфизм важен не только для производных классов, но и для базовых. В случае использования базового класса, фактически, может использоваться объект производного класса, приведенный к типу базового класса. Разработчики базового класса могут предполагать, какие аспекты их базового класса скорее всего будут изменены в производном типе. Например, базовый класс для машин может содержать поведение, которое меняется в зависимости от того, является рассматриваемая машина минивэном или кабриолетом. В базовом классе эти методы могут быть отмечены как виртуальные, что позволит в производных классах, представляющих кабриолеты и минивэны, переопределить это поведение.

Дополнительные сведения см. в разделе Наследование.