Объект преступления. Понятие класса и объекта

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

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

Общее определение

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

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

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

Взаимодействие категорий

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

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

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

Объект

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

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

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

Предмет

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

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

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

Образный пример

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

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

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

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

Выбор категорий экономической темы

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

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

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

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

Еще несколько примеров

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

Если, например, дана тема по информатике «Особенности и принципы работы электронной почты», то объектом будет выступать электронная почта, а предметом - основные принципы ее функционирования.

Ошибки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

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

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

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

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

Курс 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.

Определение

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

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

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

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

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

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

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

Состояние

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

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

Поведение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Посягательство на общественные отношения возможно одним из трех способов:

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

Круг объектов, охраняемых уголовным правом, постоянно меняется, что объясняется динамикой общественных отношений (на первый план по значимости выходят то одни, то другие отношения), а также изменениями моральной оценки тех или иных деяний. Например, лишь совсем недавно стали охраняться отношения по поводу использования и защиты компьютерной информации (ст. 272-274 УК РФ), в то время как спекуляция перестала быть преступлением.

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

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

Понятие объекта преступления в Российском уголовном праве

Объект преступления — это те поставленные под охрану общественные отношения, против которых направлено преступление. Объект преступления является обязательным в составе каждого преступления. Если лицо не нарушает или не ставит под угрозу нарушения взятые под охрану уголовного закона общественные отношения, то в его действиях (бездействии) не содержится состава преступления.

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

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

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

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

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

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

Вывод о том, что преступление посягает на общественные отношения, был законодательно отражен уже в Руководящих началах по уголовному праву РСФСР 1919 г., где в п. 3 указывалось, что уголовное право имеет задачей охранять систему общественных отношений, соответствующую интересам трудящихся масс, а в п. 5 этого документа преступление характеризовалось как нарушение порядка общественных отношений, охраняемых уголовным законом.

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

УК в ч. 1 ст. 2 указывает как на родовые объекты преступлений: права и свободы человека и гражданина, собственность, общественный порядок и общественную безопасность, окружающую среду, конституционный строй РФ, мир и безопасность человечества.

По значимости охраняемого законом родового объекта (его ценности) преступления в Особенной части УК группируются по соответствующим разделам, а по видовому объекту — по главам в этих разделах. Так, в разделе VII Особенной части «Преступления против личности» гл. 16 «Преступления против жизни и здоровья» расположена на первом месте, затем в этом разделе помещены гл. 17 «Преступления против свободы, чести и достоинства личности» и т.д. По этому дискуссионному вопросу в литературе имеются и другие суждения.

Общий, родовой, видовой и непосредственный объекты преступления

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

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

Под родовым объектом понимается совокупность однородных общественных отношений, взятых под охрану уголовного закона. Родовые объекты преступлений, как уже говорилось, определены в наименованиях разделов VII-XII Особенной части УК.

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

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

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

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



 

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