
- •Пояснительная записка
- •Оглавление
- •Введение
- •Ооп и его место в современном программировании
- •Преимущества ооп
- •Объекты и компоненты
- •Классы объектов
- •Принципы ооп
- •ActiveX - объекты
- •Сервисы и компоненты ActiveX
- •Клиенты и серверы
- •Принципы и применение описаний информационных систем (uml и аналоги)
- •Способы применения uml
- •Диаграммы uml
- •Практическая часть Описание задачи
- •Диаграмма-представление системы
- •Заключение
- •Список литературы
- •Приложение 1
- •Приложение 2
Ооп и его место в современном программировании
Объектно-ориентированное программирование - парадигма программирования, в которой основными концепциями являются понятия объектов и классов.
Объекты - это крупнейшее достижение в современной технологии программирования. Изобретение и практическая реализация объектов являются подвигом человеческого гения. Объекты позволили строить программу не из чудовищных по сложности процедур и функций, а из кирпичиков-объектов, заранее наделенных нужными свойствами. При этом внутренняя сложность объектов скрыта от программиста, он просто пользуется готовым строительным материалом.
С появлением Windows без объектов в программировании просто не обойтись.
ООП представляет собой новый этап развития современных концепций построения языков программирования. Здесь получили дальнейшее развитие принципы структурного программирования - структуризация программ и данных, модульность и т.д., а также новые подходы к созданию программ. Использование возможностей ООП незаменимо при визуальном программировании, когда программа "набирается" из отдельных объектов, обладающих необходимыми настраиваемыми характеристиками.
Преимущества ооп
Использование более естественных с точки зрения обычной повседневной практики понятий, простота введения новых понятий;
Упрощение разработки многократно используемых компонент приложений;
Некоторое сокращение размера программ за счет того, что повторяющиеся (наследуемые) свойства и действия можно не описывать многократно; кроме того, использование динамических объектов позволяет более эффективно распределять оперативную память;
Возможность создания библиотеки классов; в частности, библиотека визуальных компонент С++ Builder и является примером такой библиотеки;
Сравнительно простая возможность внесения изменений в программу без изменения уже написанных частей, а в ряде случаев и без перекомпиляции этих написанных и уже скомпилированных частей, используя свойства наследования и полиморфизма;
Возможность написания подпрограмм с различными наборами формальных параметров, но имеющих одно и то же имя;
Более четкая локализация свойств и поведения объектов конкретного класса в одном месте (используется свойство инкапсуляции), позволяющая проще разбираться со структурой программы, отлаживать ее, находить ошибки;
Возможность разделения доступа к различным объектам программы.
В конце 60-х годов возникла идея объединить понятия тип данных, процедура, функция, запись и то, что получилось, назвать объектом. Рассмотрение данных в неразрывной связи с методами их обработки позволило вывести формулу объекта:
Объект
=
Данные
Операции
+
Рис.1. Формула объекта
На основании этой формулы была разработана методология объектно-ориентированного программирования (ООП).
Об объектах можно думать как о полезных существах, которые "живут" в вашей программе и коллективно решают некоторую прикладную задачу. Вы лепите этих существ, распределяете между ними обязанности и устанавливаете правила их взаимодействия.
В общем случае каждый объект "помнит" необходимую информацию, "умеет" выполнять некоторый набор действий и характеризуется набором свойств. То, что объект "помнит", хранится в его полях. То, что объект "умеет делать", реализуется в виде его внутренних процедур и функций, называемых методами. Свойства объектов аналогичны свойствам, которые мы наблюдаем у обычных предметов. Значения свойств можно устанавливать и читать. Программно свойства реализуются через поля и методы.
Например, объект "кнопка" имеет свойство "цвет". Значение цвета кнопка запоминает в одном из своих полей. При изменении значения свойства "цвет" вызывается метод, который перерисовывает кнопку.
Кстати, этот пример позволяет сделать важный вывод: свойства имеют первостепенное значение для программиста, использующего объект. Чтобы понять суть и назначение объекта, вы обязательно должны знать его свойства, иногда - методы, очень редко - поля (объект и сам знает, что с ними делать).