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