Различия между не объектно-ориентированными и
объектно-ориентированными системами программирования в основном связаны не с
возможностью выразить в программе требуемую функциональность (согласно теории
алгоритмов любая функциональность может быть выражена на каждом языке
программирования, либо не может быть выражена ни на одном языке
программирования), а с выразительностью языка программирования, удобством
составления программ, их отладки и сопровождения.
Целесообразность использования объектно-ориентированных систем
программирования связана со следующими обстоятельствами:
- Выразительность
: как было показано на примерах, в не
объектно-ориентированной системе программирования программисту необходимо самому
отображать операции над объектами (вызовы методов, или объявления подклассов) в
явные вызовы соответствующих функций (при использовании объектно-ориентированных
окружений это обеспечивается системой программирования).
- Удобство
: в не объектно-ориентированной системе программирования
программист вынужден вручную отслеживать иерархию классов при вызове методов и
передаче им параметров; при изменениях в иерархии классов, он должен вручную
внести соответствующие изменения в программу.
- Защита от ошибок
: в не объектно-ориентированной системе программирования
программист должен каждый раз проверять правильность управления методами и
объектами, инициализировать новые объекты, предотвращать доступ к приватным
атрибутам и методам (в объектно-ориентированных окружениях все это обеспечивает
система программирования).
- Поддержка целостности
: при внесении изменений в объявления объектов в не
объектно-ориентированном окружении программист должен сам определить влияние
этих изменений на программу и соответствующим образом изменить ее
(объектно-ориентированные системы программирования обеспечивают это
автоматически).
Тем не менее даже в случае разработки прикладных программных
систем в не объектно-ориентированных системах программирования использование
методологии объектно-ориентированного проектирования этих систем, описанной в
данном курсе, существенно упрощает их реализацию и последующее сопровождение.
|