logo
Язык программирования Pascal - redact Мигунов

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

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

ООП имеет 3 основных свойства:

  1. инкапсуляция;

  2. наследование;

  3. полиморфизм.

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

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

Полиморфизм – это свойство позволяет одно и тоже имя использовать для решения нескольких технически разных задач. Полиморфизм подразумевает такое определение методов, при котором метод (процедура) с одним и тем же именем может применятся к различным родственным объектам. Полиморфизм – это «одно имя – множество методов». Выбор конкретной процедуры (метода) в зависимости от ситуации возлагается на компилятор. Механизм полиморфизма заключается в следующем: при вызове метода класса сначала этот метод ищется в самом классе, если метод найден то он выполняется и поиск завершается, если метод не найден, то происходит обращение к родительскому классу и ищется вызванный метод в нем. Если метод снова не найден, то продолжается поиск вверх по иерархическому дереву вплоть до корня.