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

Автор работы: Пользователь скрыл имя, 16 Июня 2014 в 21:56, курсовая работа

Краткое описание

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

Задачи:

1.Изучить понятия объект и класс.
2.Привести примеры
3.Изучить понятия атрибут и операция.
4.Указать роль в концепции объектно-ориентированного программирования.

Содержание

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

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

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

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

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

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

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

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

Прикрепленные файлы: 1 файл

моя курсовая вариант первый.doc

— 138.50 Кб (Скачать документ)

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

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

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

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

 

 

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

                                                                                 Курс 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 Открытые и закрытые атрибуты и операции

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

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