Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Различие между процедурными языками и объектно-ориентированными.






В общем случае язык программирования базируется на двух основных понятиях – это данные и алгоритмы. Данные представляют собой информацию, которую программа обрабатывает. А алгоритмы – это методы, которые программа использует для обработки данных. Язык С как и большинство языков программирования того времени является процедурным – это означает, что основной аспект в нем делается на алгоритмах.

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

Первые процедурные языки, такие как FORTRAN и BASIC столкнулись с проблемами организационного плана. Во многих старых программах благодаря операторам безусловного перехода алгоритм настолько запутан (их называют программы – «спагетти»), что его трудно читать. Для решения этой проблемы был разработан стиль программирования, который называется структурным программированием.

· Во-первых, структурное программирование ограничивает ветвление программы, в основном отказываясь от оператора безусловного перехода.

· Во-вторых, алгоритм строится, используя несколько основных структур: структура последовательного выполнения, структуры повторения с предусловием и с постусловием, структура - альтернатива и структура - ветвление.

Язык С поддерживает эти конструкции (операторы-выражения; циклы for, while, do while; оператор if else и оператор switch).

· В-третьих, еще одним новым принципом структурного программирования является проектирование программы сверху вниз.

Идея заключается в разбиении большой программы на более мелкие, легче решаемые задачи. При этом используются описанные выше структуры. Если полученные задачи по-прежнему остаются слишком обширными, их также следует разделить на более мелкие задачи, используя для алгоритма все те же структурные схемы. Этот процесс продолжается до тех пор, пока программа не будет разделена на маленькие, легко программируемые модули. Разработанные таким образом (сверху вниз ) алгоритмы обладает в некотором смысле свойством " правильности", встроенной в них шаг за шагом. Общая структура управления в структурированной программе является деревом. Такую программу легко читать сверху вниз, а, не прыгая по тексту из конца в начало. Методика структурного программирования отражает процедурный подход, при котором программа рассматривается с точки зрения выполняемых ею действий.

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

Объектно-ориентированное программирование (ООП) предлагает новый подход к решению этой задачи.

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

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

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

Объектно-ориентированное программирование – это объединение данных и методов в описании класса.

Сокрытие - инкапсуляция данных позволяет предохранить данные от нежелательного доступа.

Полиморфизм дает возможность создавать множественные определения для операций и функций, а то, какое определение будет конкретно использоваться, зависит от контекста программы.

Наследование позволяет создавать новые классы из старых и наследовать данные и методы от классов – родителей.

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

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

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

Понятие обобщенного программирования.

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

Однако в то время как в ООП основное внимание уделяется данным, в обобщенном программировании упор делается на шаблоны алгоритмов и у него другая область применения.

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






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.