- •Лекция 11
- •2. Этапы становления и развития технологий программирования
- •3. Классификация языков программирования
- •4. Объектно–ориентированная технология программирования. Системы объектно-ориентированного визуального программирования
- •4.1 Отличительные признаки объектно-ориентированного программирования
- •4.2 Системы объектно-ориентированного визуального программирования
- •5. Компиляция программы
4. Объектно–ориентированная технология программирования. Системы объектно-ориентированного визуального программирования
4.1 Отличительные признаки объектно-ориентированного программирования
Другим направлением совершенствования процесса программирования сложных программных комплексов явилось разработка новой концепции в языках программирования – объектно–ориентированного программирования (ООП).
ООП позволяет декомпозировать задачу на самостоятельные части. Каждая составляющая программы является самостоятельным объектом, содержащим свои собственные коды и данные, относящиеся к нему.
Приложения на языках ООП строятся из объектов, подобно тому, как из блоков и других готовых деталей строятся дома.
Объект – замкнутая независимая сущность, взаимодействующая с внешним миром через строго определенный интерфейс в виде перечня принимаемых сообщений. Объекты обладают определенным набором свойств, методов и способностью реагировать на события (нажатия кнопок мыши, истечение заданных интервалов времени и т.д.). В отличие от процедурного программирования, где порядок выполнения операторов программы определяется порядком их следования и командами управления, в ООП порядок выполнения процедур и функций определяется событиями.
Структурно объекты состоят из двух частей: методов и переменных.
Объекты с одинаковыми свойствами и поведением объединяются в классы. Программа на объектно- ориентированном языке представляет собой совокупность описания классов. Классы, в свою очередь, представляют собой описания свойств и поведения составляющих их объектов. Свойства представляются другими более простыми объектами, а поведение описывается сообщениями, которыми обмениваются объекты.
Методы представляют собой набор процедур и функций, определяющих алгоритм работы объекта.
Переменные могут содержать как простые данные (числа, массивы, текст и т.д.), так и информацию сложной структуры (графика, звук и т.д.).
Объектно–ориентированное программирование характеризуется тремя признаками:
- инкапсуляция;
- наследование;
- полиформизм.
Инкапсуляция означает, что объекты скрывают детали своей работы. Она позволяет разработчику объекта изменять внутренние принципы его функционирования, не оказывая никакого влияния на пользователя объекта.
Наследование означает, что новый объект можно определить на основе уже имеющихся объектов, при этом он будет содержать все свойства и методы родительского. Наследование полезно, когда требуется создать новый объект, обладающий дополнительными свойствами относительно старого, причем потомок может унаследовать способности и от нескольких родителей.
Полиформизм означает, многие объекты могут иметь одноименные методы, которые могут выполнять разные действия для разных объектов. Например, оператор «+» для числовых величин означает выполнение операции сложения, а для текстовых – операции склеивания.
Первым объектно-ориентированным языком программирования был, разработанный в Норвежском вычислительном центре в в 1967 -1968 г.г, язык Simula -67 (Симула) . В основе языка лежит язык программирования Алгол -60. В языке Simula -67 впервые введено понятие «объект». Объекты вводятся путем описания класса, задающего правила действия объектов и состав данных, носителями которых являются объекты.
В настоящее время разработано и используется несколько языков ООП: Турбо-Паскаль, Object Pascal, Дельфи, C++, С# (Си шарп), Java (Джава), JavaScript и др.
