Наследование — механизм создания нового класса из старого. То есть, к существующему классу можно что-либо добавлять, или изменять его каким-то образом для создания нового (порожденного) класса. Это мощный механизм для повторного использования кода. Наследование позволяет создавать иерархию связанных типов, совместно использующих код и интерфейс.
Большинство полезных типов представляют собой различные варианты друг друга, поэтому утомительно выписывать [...]