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