Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчеты по Курсовой Работе / ООП в совр.програм. Ворожцов А.В. 8-78-3.docx
Скачиваний:
42
Добавлен:
12.03.2015
Размер:
252.59 Кб
Скачать

Ооп и его место в современном программировании

Объектно-ориентированное программирование - парадигма программирования, в которой основными концепциями являются понятия объектов и классов.

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

С появлением Windows без объектов в программировании просто не обойтись.

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

Преимущества ооп

  1. Использование более естественных с точки зрения обычной повседневной практики понятий, простота введения новых понятий;

  2. Упрощение разработки многократно используемых компонент приложений;

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

  4. Возможность создания библиотеки классов; в частности, библиотека визуальных компонент С++ Builder и является примером такой библиотеки;

  5. Сравнительно простая возможность внесения изменений в программу без изменения уже написанных частей, а в ряде случаев и без перекомпиляции этих написанных и уже скомпилированных частей, используя свойства наследования и полиморфизма;

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

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

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

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

Объект

=

Данные

Операции

+

Рис.1. Формула объекта

На основании этой формулы была разработана методология объектно-ориентированного программирования (ООП).

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

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

Например, объект "кнопка" имеет свойство "цвет". Значение цвета кнопка запоминает в одном из своих полей. При изменении значения свойства "цвет" вызывается метод, который перерисовывает кнопку.

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