Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Сущности и Объекты






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

- понимание прикладной задачи (проблемы);

- введение основы для реализации на компьютере.

Определение объекта по Г. Бучу:

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

Определение объекта по А. Джекобсону:

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

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

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

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

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

Классы

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

Важными понятиям объектно-ориентированного подхода являются:

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

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

- Полиморфизм – возможность взаимодействия с объектом, не зная, к какому конкретному классу он относится. Можно интерпретировать это и по-другому: способность класса принадлежать более чем одному типу;

- Наследование – отношение между классами, при котором один класс разделяет структуру или поведение одного или нескольких других классов.

Класс может включать в себя другой класс (отношение включения или агрегирования), если он определяет атрибуты являющимися объектами другого класса (или ссылками на другой объект).






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.