Чем неудобны не объектно-ориентированные системы

Программирования

Различия между не объектно-ориентированными и объектно-ориенти-рованными системами программирования в основном связаны не с возможностью выразить в программе требуемую функциональность (согласно теории алгоритмов любая функциональность может быть выражена на каждом языке программирования, либо не может быть выражена ни на одном языке программирования), а с выразительностью языка программирования, удобством составления программ, их отладки и сопровождения.

Целесообразность использования объектно-ориентированных систем программирования связана со следующими обстоятельствами:

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

Удобство: в не объектно-ориентированной системе программирования программист вынужден вручную отслеживать иерархию классов при вызове методов и передаче им параметров; при изменениях в иерархии классов, он должен вручную внести соответствующие изменения в программу.

Защита от ошибок: в не объектно-ориентированной системе программирования программист должен каждый раз проверять правильность управления методами и объектами, инициализировать новые объекты, предотвращать доступ к приватным атрибутам и методам (в объектно-ориентированных окружениях всё это обеспечивает система программирования).

Поддержка целостности: при внесении изменений в объявления объектов в не объектно-ориентированном окружении программист должен сам определить влияние этих изменений на программу и соответствующим образом изменить её (объектно-ориентированные системы программирования обеспечивают это автоматически).

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

 

Контрольные вопросы

1. Понятие объектно-ориентированной разработки ПО.

2. Объектно-ориентированные языки программирования.

3. Синтаксис и семантика языков программирования.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

 

 

1. Давыдов, В.Г. Программирование и основы алгоритмизации : учеб. пособие для вузов / В.Г. Давыдов. – 2-е изд., стер. – М. : Высшая школа, 2005. – 448 с.

2. Иванова, Г.С. Технология программирования : учебник для вузов / Г.С. Иванова. – М. : КНОРУС, 2011. – 336 с.

3. Культин, Н.Б. Самоучитель C++ Builder / Н.Б. Культин. – СПб. : БХВ-Петербург, 2006. – 320 с.

4. Гринченков, Д.В. Математическая логика и теория алгоритмов для программистов : учеб. пособие для вузов / Д.В. Гринченков, С.И. Потоцкий. – М. : КНОРУС, 2010. – 208 с.

5. Костюкова, Н.И. Программирование на языке Си [Электронный ресурс] : метод. рекомендации и задачи по программированию. Электронная библиотечная система «Университетская библиотека онлайн» / Н.И. Костюкова. – URL : http://www.biblioclub.ru/book/57176/

 
 

Учебное издание