Основные понятия и определения. Подход к разработке программных средств, в основе которого лежит объектная декомпозиция программной системы

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

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

Объект обладает индивидуальностью и поведением.

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

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

Таким образом, объект объединяет данные (свойства) и код (методы) в единое целое.

Каждый объект является представителем некоторого класса.

Класс – это совокупность однотипных объектов. Класс определяет общие свойства для всех его объектов.

Графическое изображение класса в нотации UML (Unified Modeling Language) следующее (рисунок 4.1):

Рисунок 4.1 – Графическое представление класса

Объектно-ориентированной разработке присущи следующие характерные свойства классов и объектов:

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

· Наследование – возможность создавать новые классы по принципу «от общего к частному». Наследование позволяет классам-потомкам при сохранении всех свойств классов-родителей добавлять свои собственные свойства, которые отражают их индивидуальность.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: