Основные принципы ООП

Основные принципы ООП. Объектно-ориентированное программирование основано на трх китах трх важнейших принципах, придающих объектам новые свойства. Этими принципами являются инкапсуляция, наследование и полиморфизм. Инкапсуляция есть объединение в единое целое данных и алгоритмов обработки этих данных.

В рамках ООП данные называются полями объекта, а алгоритмы объектными методами. Инкапсуляция позволяет в максимальной степени изолировать объект от внешнего окружения. Она существенно повышает наджность разрабатываемых программ, т.к. локализованные в объекте алгоритмы обмениваются с программой сравнительно небольшими объмами данных, причм количество и тип этих данных обычно тщательно контролирутся. В результате замена или модификация алгоритмов и данных, инкапсулированных в объект, как правило, не влечт за собой плохо прослеживаемых последствий для программы в целом в целях повышения защищнности прграмм в ООП почти не используются глобальные переменные. Другим немаловажным следствием инкапсуляции является лгкость обмена объектами, переноса их из одной программы в другую.

Можно сказать, что ООП провоцирует разработку библиотек объектов, таких как Turbo Vision. Наследование есть свойство объектов порождать своих потомков. Объект-потомок автоматически наследует от родителя все поля и методы, может дополнять объекты новыми полями и заменять перекрывать методы родителя или дополнять их. Принцип наследования решает проблему модификации свойств объекта и придат ООП в целом исключительную гибкость.

При работе с объектами программист обычно подбирает объект, наиболее близкий по своим свойствам для решения конкретной задачи, и создат одного или нескольких потомков от него, которые умеют делать то, что не реализовано в родителе.

Последовательное проведение в жизнь принципа наследуй и изменяй хорошо согласуется с поэтапным подходом к разработке крупных програмных проектов и во многом стимулирует такой подход. Полиморфизм это свойство родственных объектов т.е. объектов, имеющих одного общего родителя решать схожие по смыслу проблемы разными способами. В рамках ООП поведенческие свойства объекта определяются набором вхожящих в него методов. Изменяя алгоритм того или иного метода в потомках объекта, программист может придавать этим потомкам отсутствующие у родителя специфические свойства.

Для изменения метода необходимо перекрыть его в потомке, т.е. объявить в потомке одноимнный метод и реализовать в нм нужные действия. В результате в объекте-родителе и объекте-потомке будут действовать два одноимнных метода, имеющие разную алгоритмическую основу и, следовательно, придающие объектам разные свойства. Это и называется полиморфизмом объектов. В Турбо Паскале полиморфизм достигается не только описанным выше механизмом наследования и перекрытия методов родителя, но и их виртуализацией см. ниже, позволяющей родительским методам обращаться к методам потомков. 3.