Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Modelirovanie_sistem_uch_posobie_izdatelstvo.doc
Скачиваний:
100
Добавлен:
15.04.2019
Размер:
5.93 Mб
Скачать

7.5. Объектно-ориентированное программирование

Созданный проект превращается в программный продукт в процессе объектно-ориентированного программирования (Object-Oriented Programming, OOP) – такой методологии программирования, которая основана на представлении программного продукта в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию на принципах наследования. Таким образом, при объектно-ориентированном подходе исчезает понятие исполняемой программы. Решение поставленной задачи сводится к построению необходимых классов, и управлению взаимодействиями создаваемых ими объектов-экземпляров.

Фундаментальная концепция OOP состоит в том, что объекты и классы взаимодействуют друг с другом путем передачи сообщений. Для этого необходимо, чтобы в программе определялись не данные (переменные, константы), а объекты вместе со своими характеристиками (атрибутами) и операциями над ними. В процедурной части такой программы определяется алгоритм попарного взаимодействия определённых в программе объектов. Процесс такого взаимодействия сильно напоминает диалог между парами объектов: один из объектов пары инициирует выполнение одного из методов своего партнёра, меняя тем самым его состояние. Операция вызова (запуска) метода партнёра по взаимодействию внешне очень похожа на передачу ему одноимённого сообщения (запроса на выполнение данного метода). Получив такое сообщение, объект-партнёр должен запустить и выполнить соответствующий метод и известить объект-инициатор о завершении его выполнения.

При традиционном процедурном стиле программирования в программе определяются не объекты, а данные (переменные, не имеющие никакого отношения к свойствам программных объектов), которые затем передаются на произвольную (никак не связанную с поведением объектов) алгоритмическую обработку в программные процедуры (функции) как параметры. Для программирования в таком стиле – стиле «обработки (произвольных) данных», ‑ предназначены все традиционные алгоритмические языки программирования – от ассемблеров (низкоуровневых, машинно-зависимых) до высокоуровневых, машинно-независимых (Fortran, Algol, C и др.).

Язык программирования называется объектно-ориентирован-ным, если:

  • есть поддержка объектов как абстракций данных, имеющих интерфейсную часть в виде поименованных операций, и защищенную область локальных данных;

  • все объекты относятся к соответствующим типам (классам);

  • классы могут наследовать характеристики и методы поведения суперклассов.

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

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

Принято различать чисто объектно-ориентированные языки программирования, такие как Smalltalk, Actor, Java, C#, от гибридных языков программирования, в которых используются оба принципа – процедурный и объектный (Object Pascal, C++, Visual Basic, Python, [15]).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]