3.4.4 Суть наследования и его польза в программировании

iDevice ikoon 3.4.4 Суть наследования и его польза в программировании

Наследование помогает программисту избежать бессмысленного написания повторяющегося кода. Как и в реальном мире, так и здесь код и данные связанные общими признаками можно записать в одном месте для всей соответствующей группы и позже на уровне специализации добавить различные дополнения и уточнения. Без этой возможности написание больших систем было бы более объёмным, и вероятность допустить ошибку была бы гораздо выше. Наследуют друг друга, как правило, классы, т.е. типы объектов. В случае наследования создаётся подкласс, который является потомком родительского класса (англ. Super class). В простейшем случае наследование может ограничиться лишь созданием подкласса. При отсутствии отдельных ограничений у созданного подкласса присутствуют все те же самые возможности, что и у родительского. В то же время самому программисту известно, в каком контексте, какой экземпляр класса он использует. Например, в случае Точки и Вектора для обоих полезно знать две координаты. В случае Точки они обозначают абсолютное местоположение, а в случае Вектора - сдвиг. В случае Вектора главным свойством является его длина, а в случае Точки она не имеет никакого значения - поэтому можно сделать вектор подклассом точки и вместе с наследованием добавить ещё соответствующую функцию длины. Цепочка наследования может иногда вырасти очень длинной - в случае множества одинаковых классов, пять-шесть уровней, где на каждом добавляются какие-то возможности и свойства - это совершенно нормально.