Основы объектно-ориентированного программирования: Методические указания к выполнению лабораторной работы по дисциплине «Информатика», страница 2

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

В отличие от  процедурного подхода, который отвечает на вопрос: «Что делает данная программа?», объектно-ориентированный подход требует ответа на вопрос: «Какие объекты реального мира я моделирую?».

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

1.  Основные понятия объектно-ориентированного подхода

Объектно-ориентированное программирование  это методология программирования, основанная на применении объектно-ориентированного подхода и представлении программы в виде совокупности объектов.

Грэди Буч (Grady Booch), основоположник ООП, неформально определил объект как осязаемую сущность, которая четко проявляет свое поведение. С точки зрения восприятия человеком объектом может быть: 1) осязаемый и (или) видимый предмет; 2) нечто, воспринимаемое мышлением; 3) нечто, на что направлена мысль или действие.

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

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

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

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

К совокупности допустимых действий для «Хамелеона»  можно отнести такие, как: способность принимать пищу, раскачиваться на ветке, смотреть одним глазом в одну сторону,  а другим в другую или бежать.

Объекты обычно не существуют изолированно, а подвергаются воздействию или сами воздействуют на другие объекты. То, как объект действует и реагирует называют поведением объекта.

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

Помимо всего прочего, каждый объект обладает собственной уникальностью. Под уникальностью понимается то, что отличает один объект от остальных. Таким уникальным параметром может быть, например, имя объекта. Хамелеон Тузик.