Что является и что не является объектом? Понятие класса и объекта. Что может быть объектом

Заимствование из латинского, где objectum произведено от objicere – "бросать навстречу". Кроме того, в русском языке есть слово, калькирующее латинское objectum – предмет. Этимологический словарь Крылова

  • объект - ОБЪЕКТ -а; м. [от лат. objectum - предметный] 1. Филос. То, что существует вне нас и независимо от нас; внешний мир, действительность, на которые направлена предметно-практическая и познавательная деятельность субъекта. Мир объектов. О. в себе. Толковый словарь Кузнецова
  • объект - сущ., кол-во синонимов... Словарь синонимов русского языка
  • ОБЪЕКТ - (ЭКОНОМИЧЕСКИЙ) (от лат. objectum) предприятия, организации, средства и факторы производства, элементы социальной сферы, характеризуемые как объект, в котором сосредоточена или на который направлена экономическая деятельность... Экономический словарь терминов
  • объект - ОБЪЕКТ, а, м. 1. В философии: то, что существует вне нас и независимо от нашего сознания, явление внешнего мира. 2. Явление, предмет, на к-рый направлена чья-н. деятельность, чьён. внимание (книжн.). О. изучения, описания. О. промысла. Толковый словарь Ожегова
  • объект - Объект, объекты, объекта, объектов, объекту, объектам, объект, объекты, объектом, объектами, объекте, объектах Грамматический словарь Зализняка
  • объект - То, что может быть индивидуально описано и рассмотрено. Объектом может быть, например, деятельность или процесс, продукция, организация, система или отдельное лицо, или любая комбинация из них. Строительная терминология
  • объект - 1. предмет, явление, на который направлена какая-либо деятельность; 2. предприятие, учреждение, а также все то, что является местом какой-либо деятельности. Большой бухгалтерский словарь
  • Объект - Геометрический - см. Геометри ческих объектов теория. Математическая энциклопедия
  • объект - объект I м. 1. Существующий вне нас и независимо от нашего сознания внешний мир, являющийся предметом познания, практического воздействия субъекта (в философии). 2. Лицо, явление, предмет, на которые направлена какая-либо деятельность. Толковый словарь Ефремовой
  • объект - ОБЪ’ЕКТ, объекта, ·муж. (·лат. objectum - Предмет) (·книж.). 1. То, что существует вне нас и независимо от нас, внешний мир (филос.). «Совпадение мысли с объектом есть процесс.» Ленин. 2. Предмет, то внешнее, на что направлена деятельность человека. Толковый словарь Ушакова
  • Объект - I Объе́кт (позднелат. objectum - предмет, от лат. objicio - бросаю вперёд, противопоставляю) то, что противостоит субъекту в его предметно-практической и познавательной деятельности. Большая советская энциклопедия
  • ОБЪЕКТ - ОБЪЕКТ (от лат. objectum - предмет) - англ. object; нем. Objekt. 1. Предмет, явление, процесс или их отдельные стороны, существующие в реальной действительности. 2. Предмет, явление, процесс, на к-рые направлена к.-л. деятельность, мысль, чувство и т. Социологический словарь
  • объект - -а, м. 1. Явление, предмет, лицо, на которые направлена чья-л. деятельность, чье-л. внимание и т. п. Объект наблюдений. Объект изучения. □ [Разуваев] снимал рощи и отправлял в город барки с дровами. Малый академический словарь
  • объект - ОБЪЕКТ - СУБЪЕКТ Объективный - субъективный (см.) объективно - субъективно (см.) объективность - субъективность (см.) Каковы естественные основы философии? Я и не-Я, мир внутренний и мир внешний, субъект и объект. Чаадаев. Отрывки и афоризмы. Словарь антонимов русского языка
  • объект - Объекта, м. [латин. objectum – предмет] (книжн.). 1. То, что существует вне нас и независимо от нас, внешний мир (филос.). 2. Предмет, то внешнее, на что направлена деятельность человека. Объект исследования. Большой словарь иностранных слов
  • ОБЪЕКТ - ОБЪЕКТ - в языкознании - имя предмета или лица, на который направлено действие, выраженное глаголом (противопоставляется субъекту действия); то же, что дополнение при глаголе и отглагольном существительном. ОБЪЕКТ (от лат. Большой энциклопедический словарь
  • объект - ОБЪЕКТ м. латинск. предмет противопол. субъект или самость. Объектив м. стекло зрительной трубы, обращенное к предмету, противопол. окуляр, глазное стекло. Объективные признаки, кои могут быть наблюдаемы зрителем; субъективные чувствуются самим предметом. Толковый словарь Даля
  • МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

    Государственное образовательное учреждение высшего профессионального образования

    Российский экономический университет имени Г.В. Плеханова

    Уфимский институт (филиал)

    Факультет экономики и менеджмента

    Курс 2

    Специальность 230700.62 Прикладная информатика

    Габбасов Тимур Айдарович

    Курсовая работа

    По дисциплине: «Программная инженерия»

    На тему: «Понятие класса и объекта. Что может быть объектом. Атрибут и операции»

    Руководитель: Садртдинов Ф.А.

    Уфа 2014

    Введение ……………………………………………………………………….3

    1.Понятие объекта в программировании …………………………………4

    2.Определение класса ………………………………………………………..6

    2.1.Атрибуты классов ………………………………………………………..7

    2.2.Операции ………………………………………………………………….8

    2.3.Зависимости между классами, объектами …………………………..11

    Заключение ………………………………………………………………….15

    Список используемой литературы……………………………………….17

    Введение

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

    Предмет исследования - понятие класса и объекта.

    Объект исследования - объект и класс, и их взаимосвязь с атрибутом и операциями.

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

    Задачи:


    1.Изучить понятия объект и класс.

    2.Привести примеры
    3.Изучить понятия атрибут и операция.

    4.Указать роль в концепции объектно-ориентированного программирования.

    1.Понятие объекта в программировании

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

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

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

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

    Приведем общие признаки объектов.

    Объект распознаваем, т.е. имеет некоторые, возможно не четко очерченные, границы.

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

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

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

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

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

    Свойства объекта позволяют отличить понятие “объект” от некоторым образом противоположного ему понятия “класс”.

    2.Определение класса

    В класс объединяются объекты с одинаковыми свойствами и методами.

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

    Использование иерархии классов вводит необходимость абстракции. Классы становятся более абстрактными по мере продвижения вверх по иерархии.

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

    Класс - это абстрактное понятие, сравнимое с понятием категория в его обычном смысле.

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

    Это можно пояснить на примере музыкальных инструментов. Музыкальные инструменты делятся на следующие категории: духовые, ударные и струнные.

    Все эти категории принадлежат к категории музыкальных инструментов. В свою очередь, категория музыкальных инструментов входит в категорию инструментов. На рис.1 эта структура категорий графически представлена в виде дерева.

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

    Рис 2.1 Рис.2.2

    2.1.Атрибуты классов

    Атрибут - это значение, характеризующее объект в его классе. Примеры атрибутов: категория, баланс, кредит (атрибуты объектов класса счет); имя, возраст, вес (атрибуты объектов класса человек) и т.д.

    Среди атрибутов различаются постоянные атрибуты (константы) и переменные атрибуты. Постоянные атрибуты характеризуют объект в его классе (например, номер счета, категория, имя человека и т.п.). Текущие значения переменных атрибутов характеризуют текущее состояние объекта (например, баланс счета, возраст человека и т.п.); изменяя значения этих атрибутов, мы изменяем состояние объекта.

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

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

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

    2.2.Операция

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

    Рис3.1

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

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

    Каждой операции соответствует метод - реализация этой операции для объектов данного класса. Таким образом, операция - это спецификация метода, метод - реализация операции. Например, в классе файл может быть определена операция печать (print). Эта операция может быть реализована разными методами: (а) печать двоичного файла; (б) печать текстового файла и др. Логически эти методы выполняют одну и ту же операцию, хотя реализуются они разными фрагментами кода.

    Каждая операция имеет один неявный аргумент - объект к которому она применяется. Кроме того, операция может иметь и другие аргументы (параметры). Эти дополнительные аргументы параметризуют операцию, но не связаны с выбором метода. Метод связан только с классом и объектом (некоторые объектно-ориентированные языки, например C++, допускают одну и ту же операцию с разным числом аргументов, причем используя то или иное число аргументов, мы практически выбираем один из методов, связанных с такой операцией; на этапе предварительного проектирования системы удобнее считать эти операции различными, давая им разные имена, чтобы не усложнять проектирование).

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

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

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

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

    Рис 3.2 Открытые и закрытые атрибуты и операции

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

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

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

    Рис. 3.3. Полное представление объекта в OMT

    Рис. 2.5. Возможные классы для системы AMT (банковское обслуживание)

    2.3.Зависимости между классами, объектами

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

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

    Рис. 3.6. Зависимости между классами

    Зависимости между классами являются двусторонними: все классы в зависимости равноправны. Это так даже в тех случаях, когда имя зависимости как бы вносит направление в эту зависимость. Так, в первом примере на рисунке 3.6 имя зависимости «имеет столицу» предполагает, что зависимость направлена от класса страна к классу город (двусторонность зависимости вроде бы пропала); но следует иметь в виду, что эта зависимость двусторонняя в том смысле, что одновременно с ней существует и обратная зависимость является столицей. Точно таким же образом, во втором примере на рисунке 3.6 можно рассматривать пару зависимостей владеет-принадлежит. Подобных недоразумений можно избежать, если идентифицировать зависимости не по именам, а по наименованиям ролей классов, составляющих зависимость.

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

    Дальнейшие примеры зависимостей между классами приведены на рисунке 3.7. Первый пример показывает зависимость между клиентом банка и его счетами. Клиент банка может иметь одновременно несколько счетов в этом банке, либо вовсе не иметь счета (когда он впервые становится клиентом банка). Таким образом, нужно изобразить зависимость между клиентом и несколькими счетами, что и сделано на рисунке 3.7. Второй пример показывает зависимость между пересекающимися кривыми (в частности, прямыми) линиями. Можно рассматривать 2, 3, и более таких линий, причем они могут иметь несколько точек пересечения. Наконец, третий пример показывает необязательную (optional) зависимость: компьютер может иметь, а может и не иметь мышь.

    Зависимостям между классами соответствуют зависимости между объектами этих классов. На рисунке 3.8 показаны зависимости между объектами для первого примера рисунка 2.6; на рисунке 3.9 показаны зависимости между объектами для примеров, изображенных на рисунке 3.7.

    Рис. 3.7. Дальнейшие примеры зависимостей. Обозначения

    Рис. 3.8. Зависимости между объектами

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

    При проектировании системы удобнее оперировать не объектами, а классами.

    Рис. 3.9. Более сложные зависимости между объектами

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

    Заключение

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

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

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

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

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

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

    Четвертый этап представляет собой композиционную иерархизацию объектов как выделение родовидовых и композиционных отношений над объектами.

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

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

    Список литературы:

    1. М. Уэйт, С. Прата, Д. Мартин Язык Си: Пер с англ.-М.: Мир, 2007.-463 с.,ил.

    2. Уинер Р. Язык Турбо Си: Пер с англ.-М.: Мир, 2010.-384 с., ил.

    3. Берри Р., Микинз Б. Язык Си: введение для программистов: Пер. с англ.-М.:Финансы и статистика, 2007.-с.,ил.

    4. TURBO C++. Borland International. Inc. 2010.

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

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

    • осязаемый и (или) видимый предмет;
    • нечто, воспринимаемое мышлением;
    • нечто, на что направлена мысль или действие.

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

    Объектами реального мира не исчерпываются типы объектов, интересные при проектировании программных систем. Другие важные типы объектов вводятся на этапе проектирования, и их взаимодействие друг с другом служит механизмом отображения поведения более высокого уровня . Это приводит нас к более четкому определению, данному Смитом и Токи: "Объект представляет собой конкретный опознаваемый предмет, единицу или сущность (реальную или абстрактную), имеющую четко определенное функциональное назначение в данной предметной области" . В еще более общем плане объект может быть определен как нечто, имеющее четко очерченные границы .

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

    Существуют такие объекты, для которых определены явные концептуальные границы, но сами объекты представляют собой неосязаемые события или процессы. Например, химический процесс на заводе можно трактовать как объект, так как он имеет четкую концептуальную границу, взаимодействует с другими объектами посредством упорядоченного и распределенного во времени набора операций и проявляет хорошо определенное поведение. Рассмотрим систему пространственного проектирования CAD/CAM. Два тела, например, сфера и куб, имеют как правило нерегулярное пересечение. Хотя эта линия пересечения не существует отдельно от сферы и куба, она все же является самостоятельным объектом с четко определенными концептуальными границами.

    Объекты могут быть осязаемыми, но иметь размытые физические границы: реки, туман или толпы людей [Это верно только на достаточно высоком уровне абстракции. Для человека, идущего через полосу тумана, бессмысленно отличать "мой туман" от "твоего тумана". Однако, рассмотрим карту погоды: полосы тумана в Сан-Франциско и в Лондоне представляют собой совершенно разные объекты]. Подобно тому, как взявший в руки молоток начинает видеть во всем окружающем только гвозди, проектировщик с объектно-ориентированным мышлением начинает воспринимать весь мир в виде объектов. Разумеется, такой взгляд несколько упрощен, так как существуют понятия, явно не являющиеся объектами. К их числу относятся атрибуты, такие, как время, красота, цвет, эмоции (например, любовь или гнев). Однако, потенциально все перечисленное - это свойства, присущие объектам. Можно, например, утверждать, что некоторый человек (объект) любит свою жену (другой объект), или что конкретный кот (еще один объект) - серый.

    Объект имеет состояние, обладает некоторым хорошо определенным поведением и уникальной идентичностью.

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

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

    

    Объект

    Объе́кт

    сущ. , м. , употр. сравн. часто

    Морфология: (нет) чего? объе́кта , чему? объе́кту , (вижу) что? объе́кт , чем? объе́ктом , о чём? об объе́кте ; мн. что? объе́кты , (нет) чего? объе́ктов , чему? объе́ктам , (вижу) что? объе́кты , чем? объе́ктами , о чём? об объе́ктах

    1. Объектом называют всё то, что имеет свойства и с чем вы можете производить какие-либо действия, а также то, что вы изучаете, наблюдаете, познаёте.

    Наведите фотоаппарат таким образом, чтобы объект съёмки был в центре видоискателя. | В обсерватории ведётся постоянное наблюдение за небесными объектами.

    2. Если кто-либо или что-либо является, становится и т. п. объектом шуток, насмешек и т. п., значит, над ним постоянно подшучивают, насмехаются и т. п.

    Талантливые учёные часто становятся объектом нападок для своих менее удачливых коллег. | Объектом своих шуток он избрал самого безобидного парня в классе.

    3. Объектом любви, ненависти, внимания и т. п. называют того, на кого направлена чья-либо любовь, ненависть, внимание и т. п.

    Ревность вырастает из боязни потерять объект своей любви. | Маленький беспомощный щенок быстро стал единственным объектом его привязанности. | Дети были самым важным объектом её заботы.

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

    Промышленный объект. Оборонный объект. | Строители перешли работать на новый объект. | В тайге построили секретный пусковой объект. | Разведчики должны были проникнуть на хорошо охраняемый объект и уничтожить его. | Авиация нанесла удар по важному стратегическому объекту.

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

    У предложения «Мама мыла раму» очень простая конструкция: субъект - глагол - объект.

    объе́ктный прил.

    Объектное значение.

    объе́ктовый прил.


    Толковый словарь русского языка Дмитриева . Д. В. Дмитриев. 2003 .


    Синонимы :

    Антонимы :

    Смотреть что такое "объект" в других словарях:

      Классификация Боевая машина пехоты Боевая масса, т 13,1 Экипаж, чел. 2 Десант, чел. 8 История … Википедия

      - (от лат. objectum предмет) в самом широком смысле то, на что направлено индивидуальное или коллективное сознание. Когнитивным, или эпистемологическим, О. является все, что воспринимается, воображается, представляется или мыслится; О. может быть… … Философская энциклопедия

      объект - То что может быть индивидуально описано и рассмотрено. Примечание Объектом может быть, например: деятельность или процесс продукция организация, система или отдельное лицо, или любая комбинация из них. [ИСО 8402 94 ] объект Любая часть, элемент … Справочник технического переводчика

      - (лат. objectum, от objicere ставить пред чем). Предмет нашего наблюдения; то, что дано в познании или на что направлена познавательная деятельность. В грам. дополнение. Словарь иностранных слов, вошедших в состав русского языка. Чудинов А.Н.,… … Словарь иностранных слов русского языка

      Вещь, предмет; конструкт, спинар, мира Словарь русских синонимов. объект предмет Словарь синонимов русского языка. Практический справочник. М.: Русский язык. З. Е. Александрова. 2011 … Словарь синонимов

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

      Объект Д №1 … Википедия

      Объект - Объект ♦ Objet Этимологически «объект» это то, что стоит перед. Перед чем? Перед субъектом. Поэтому оба понятия неразрывно связаны между собой. Там, где нет субъекта, могут быть существа, события и вещи, но не может быть объекта. Всякий… … Философский словарь Спонвиля

      Железнодорожный тоннель под Днепром. Объект Д №1 спутник серии «Объект Д», запуск 27 апреля 1958 года … Википедия

      Объект - 1. Предмет, вещь, явление, на которые направлена деятельность, то, что подвергается какому либо воздействию. 2. В обиходной речи вообще всякий предмет, вещь. 3. В философии то, что существует вне нас и независимо от нас, внешний мир,… … Экономико-математический словарь

      ОБЪЕКТ, объекта, муж. (лат. objectum Предмет) (книжн.). 1. То, что существует вне нас и независимо от нас, внешний мир (филос.). «Совпадение мысли с объектом есть процесс.» Ленин. 2. Предмет, то внешнее, на что направлена деятельность человека.… … Толковый словарь Ушакова

    Определение

    С точки зрения восприятия человеком объектом может быть:

      осязаемый и (или) видимый предмет (мяч)

      нечто, воспринимаемое мышлением (алгоритм)

      нечто, на что направлена мысль или действие (время).

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

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

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

    Состояние

    Состояние объекта характеризуется перечнем (обычно статическим) всех свойств данного объекта и текущими (обычно динамическими) значениями каждого из этих свойств.

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

    Поведение

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

    Поведение – это то, как объект действует и реагирует.

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

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

      Модификатор – операция, которая изменяет состояние объекта;

      Селектор – операция, считывающая состояние объекта, но не меняющая состояния;

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

      Конструктор – операция создания объекта и/или его инициализации;

      Деструктор – операция, освобождающая состояние объекта и/или разрушающая сам объект.

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

    Идентичность

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

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

    Время жизни объектов

    Время жизни объекта - время с момента создания объекта (конструкция) до его уничтожения (деструкция).

    При создании объекта вызывается конструктор, который инициализирует объект.

    Уничтожение объектов может выполняться явно и неявно. В Smalltalk и Java при потере последней ссылки на объект его забирает сборщик мусора. В языках без сборки мусора, типа C++, объекты, созданные в стеке, уничтожаются неявно при выходе из блока, в котором они были определены, но объекты, созданные в "куче" оператором new, продолжают существовать и занимать место в памяти: их необходимо явно уничтожать оператором delete.

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

    Отношения между объектами

    Отношения двух любых объектов основываются на предположениях, которыми один обладает относительно другого: об операциях, которые можно выполнять, и об ожидаемом поведении.

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

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

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

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

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

    В объектно-ориентированном программировании под агрегированием подразумевают методику создания нового класса из уже существующих классов путём включения, называемого также делегированием. Об агрегировании также часто говорят как об «отношении принадлежности» по принципу «у машины есть корпус, колёса и двигатель».

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

    Агрегация иногда предпочтительнее, поскольку позволяет скрыть части в целом. Иногда, наоборот, предпочтительнее связи, поскольку они слабее и менее ограничительны. Принимая решение, надо взвесить все.



     

    Возможно, будет полезно почитать: