6.3 Объектно-ориентированный подход
Ранее уже говорилось, что в рамках процедурного подхода алгоритм имеет дело не с объектами предметной области а с их моделями - данными. При этомданныехранят информацию о конкретных физических параметров объектов, аинформацияо поведении объектов в окружающем мире, взаимодействие их друг с другом переносится вподпрограммы. В результатецелостное представление об объектах предметной областитеряется.
В чистом ООП программа уже рассматривается не как реализация алгоритма, ООП основывается на подходе к разработке программ какнабора взаимодействующих объектов, передающих друг другу сообщения. При ОО разработкена основании анализа задачи определяетсякакие объектыпредметной области характерны для решаемой задачи ив каких отношениях (использование, обобщение, целое-часть) они находятся. После этого определяются (разрабатываются) программные классы (как обобщенные типы), которые представляют в программе модели объектов предметной области. Объекты в программы - это экземпляры классов (класс как обобщение типа данных). В классах (и объектах классов)связываются в единое целое физические свойства и поведения объектов предметной области, т.е. объекты интегрируют (объединяют) в себе структуры данных и операции (подпрограммы), необходимые для выработки решения. Данное явление называетсяинкапсуляция.
Другим свойством ООП является наследование- производные классы (потомки)могут наследовать свойства и поведениеклассов-родителей.
Третьим свойством ООП является полиморфизм (многообразие)- при обозначенииобщего для всей иерархии действияодним именем (функций) каждый класс в этой иерархии реализует это действие своим собственным пригодным для него способом.Например, в иерархии животных из базового типа "животные" могут быть порождены типы: "сухопутные" (имеют ноги), "водные" (имеют плавники) и "птицы "(имеют крылья). Все типы в этой иерархии могут выполнять базовую операцию "передвижение", но каждый из производных типов выполняет это действие своим способом: 1) сухопутные бегают; 2) рыбы плавают; 3) птицы летают;