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

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

В толковом словаре В. Даля под предметом понимается всё то, что представляется чувствами, а в словаре русского языка С.И. Ожёгова - любая материальная вещь или явление.

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

В общем, понять «язык» словарей студенту представляется весьма трудным. Из-за этого и правильное определение объекта и предмета перерастает в ещё одну проблему курсовой работы . Мы постараемся как можно проще объяснить, что такое .

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

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

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

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

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

Курсовая работа по информатике: «Основные принципы функционирования электронной почты».

Объект: электронная почта.

Предмет: основные принципы функционирования электронной почты.

Курсовая работа по педагогике: «Влияние межличностных отношений между учеником и педагогом на успеваемость учащегося в МБОУ СОШ».

Объект: учебно-образовательный процесс МБОУ СОШ.

Предмет: межличностные отношения между педагогом и учащимся в учебно-образовательном процессе МБОУ СОШ и их влияние на успеваемость.

Курсовая работа по экономике: «Эффективность производственной деятельности».

Объект: производственная деятельность.

Предмет : эффективность производственной деятельности.

Курсовая работа по экономике: «Экономическое обоснование инвестиционной деятельности».

Объект: инвестиционная деятельность.

Предмет: экономическое обоснование инвестиционной деятельности.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



Объект

Объе́кт

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



 

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