русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Просмотров: 527


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.