И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина





НазваниеИ. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина
страница10/32
Дата публикации01.09.2013
Размер1.4 Mb.
ТипЛекция
100-bal.ru > Информатика > Лекция
1   ...   6   7   8   9   10   11   12   13   ...   32

7. Упражнения.


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

  2. Выполните идентификацию компонент применительно к игре в морской бой (примеры компонент – игровое поле и корабли) или для игры "объемный тетрис".

  3. С помощью CRC-карточек опишите компоненты программы "музыкальный проигрыватель", в которой предусмотрено ведение базы данных музыкальных файлов и их воспроизведение.

Лекция 3. Объявление классов в Си++


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

1. Инкапсуляция поведения и состояния


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

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

В качестве примера рассмотрим АТД "стек". Пользователь видит описание допустимых операций: push, pop, top и т.д. С другой стороны, программисту, реализующему стек, необходимо работать с конкретными структурами данных, где хранятся значения стека, например, для целочисленного стека емкостью до 100 чисел это может быть массив int n[100]. Т.о. оказывается. что конкретные детали скрыты (инкапсулированы) внутри более абстрактного объекта.

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

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

2. Разновидности классов


Большинство классов, использующихся в ООП, можно разделить на 4 категории (хотя, конечно, существуют и другие, более редкие категории классов):

  • управление данными (менеджеры данных, Data Managers);

  • источники и приемники данных (Data Sources и Data Sinks);

  • классы для просмотра данных (Views);

  • вспомогательные классы, упрощающие проектирование программ (Facilitators).

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

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

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

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

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

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

1   ...   6   7   8   9   10   11   12   13   ...   32

Похожие:

И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconИ. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной...
...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconИ. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной...
...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconПротокол №5 От 12 января 2012 г Заседания кафедры электроники и вычислительной...
Зав кафедрой Хакимова Г. Г. сообщила, что кафедра проводит 2-й Чемпионат по цифровой схемотехнике
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconМетодические рекомендации по подготовке, оформлению, предзащите и...
В. А. Усков, заместитель декана естественно-географического факультета по развитию, доцент кафедры физической географии и методики...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconПроблемы коммуникации
М. Е. Евсевьева (зав кафедрой, доцент А. А. Ветошкин); С. А. Борисова, директор Института международных отношений Ульяновского государственного...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconПрограмма по формированию навыков безопасного поведения на дорогах...
Елена Святославовна Симакова, кандидат педагогических наук, доцент кафедры гуманитарных и естественнонаучных дисциплин Рязанского...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconПрограмма курса по выбору «Орнитология» предназначена для студентов...
Автор программы: к б н., доцент, зав кафедрой биологии и химии Марина Николаевна Харламова
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconРоссийской Федерации Федеральное государственное образовательное...
Петренко И. М., зав кафедрой экономической теории, д-р экон наук профессор Дулин М. П., зав кафедрой педагогики и психологии, д-р...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconРахманкулова Людмила Кузьминична, кандидат филологических наук, доцент...
Автор программы: С. А. Виноградова, кандидат филологических наук, доцент, зав кафедрой английского языка и английской филологии
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconПрограмма по формированию навыков безопасного поведения на дорогах...
...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconЛингвистические проблемы
Московского государственного педагогического института иностранных языков им. М. Тореза (зав кафедрой доцент Ю. А. Денисенко); д-р...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconМгпу учебно-методический комплекс дисциплины
А. В. Прялухина, кандидат психологических наук, доцент, зав кафедрой психологии Российского государственного социального университета...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconРабочая программа по дисциплине «теория экономического анализа»
Рецензент: к с н., доцент, зав кафедрой «Экономики и управления на предприятии и маркетинга» Пятигорского государственного гуманитарно-технологического...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconРабочая программа по дисциплине «международный менеджмент»
Рецензент: к с н., доцент, зав кафедрой «Экономики и управления на предприятии и маркетинга» Пятигорского государственного гуманитарно-технологического...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconМетодические рекомендации по написанию курсовых работ дисциплине
Рецензент: к с н., доцент, зав кафедрой «Экономики и управления на предприятии и маркетинга» Пятигорского государственного гуманитарно-технологического...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconУчебное пособие Краснодар 2008
В. А. Оробец); кафедра паразитологии и ветсанэкспертизы Донского государственного аграрного университета (зав кафедрой, проф., к...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск