Особенности и применимость объектно-ориентированного программирования


Объектно-ориентированный подход к программированию имеет 4 важных аспекта:

1) модульность; она позволяет:

- разбить программу на модули и локализовать область действия подпро­
грамм и переменных;

- изменять локальные подпрограммы, не изменяя других программных моду­
лей;

2) абстракция данных; абстрактный тип данных определяется на основе неко­
торого их представления и множества подпрограмм для обработки данных
абстрактного типа;

3) динамическая связка подпрограмм программы; это позволяет не переком­
пилировать всю программу при внесении изменений в отдельные модули,
что увеличивает гибкость языка, позволяя вводить новые классы объектов
без модификации всей программы;

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

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

ООП обладает рядом преимуществ при создании больших программ:

1) использование более естественных понятий и простота введения новых
понятий;

2) некоторое сокращение размера программ за счет того, что повторяющиеся
(наследуемые) свойства и действия можно не описывать многократно;
применение динамических объектов позволяет более эффективно использовать ОП;

3) возможность создания библиотек объектов;

4) сравнительно простая возможность внесения изменений в программу без
изменения написанных частей, а в ряде случаев без перекомпиляции написанных и скомпилированных программ (библиотек); при этом используются свойства наследования и полиморфизма; это упрощает модификацию программ, придает им гибкость; одно из главных достоинств ООП - возможность расширять область применения программ, не переделывая про­грамму, а лишь добавляя в нее новые уровни иерархии;

5) возможность использования подпрограмм с различными наборами формальных параметров, но имеющих одно и то же имя, применяя свойство
полиморфизма;

6) более четкая локализация свойств и методов объекта (с помощью свойства
инкапсуляции);

7) возможность разделения доступа к различным объектам программы.

Однако ООП имеет ряд недостатков и эффективно не всегда.

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

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

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

Свойства объектов

Инкапсуляция



Дата добавления: 2019-12-09; просмотров: 470;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.