Контекстное меню в операционной системе Windows
Автор: Пользователь скрыл имя, 02 Ноября 2012 в 23:08, контрольная работа
Краткое описание
Работа содержит ответы на вопросы для зачета про "Информатике"
Оглавление
Контекстное меню в операционной системе Windows ХР………………… 3
Форматирование абзаца в текстовом процессоре MS WORD…..…………4
Типы функций в табличном процессоре МS EXCEL……………………… 7
Создание таблицы с помощью мастера в СУБД МS АССЕSS……………. 9
Объектно-ориентированное программирование…………………………. 10
Файлы: 1 файл
информатика.docx
— 223.83 Кб (Скачать)В отличие от типа «запись», объектный тип содержит не только поля, описывающие данные, но также процедуры и функции, описания которых содержится в описании объекта. Эти процедуры и функции называют методами.
Методам объекта доступны его поля. Следует отметить, что методы и их параметры определяются в описании объекта, а их реализация даётся вне этого описания, в том мест программы, которое предшествует вызову данного метода.
В описании объекта фактически содержаться лишь шаблоны обращения к методам, которые необходимы компилятору для проверки соответствия количества параметров и их типов при обращении к методам. Вот пример описания объекта[1]:
Type
Location = object
X,Y: Integer;
Procedure Init(InitX, InitY: Integer);
Function GetX: Integer;
Function GetY: Integer;
End;
Здесь описывается объект, который может использоваться в дальнейшем, скажем, в графическом режиме и который предназначен для определения положения на экране произвольного графического элемента. Объект описывается с помощью зарезервированных слов object…end, между которыми находиться описание полей и методов. В нашем примере объект содержит два поля для хранения значений графических координат, а так же для описания процедуры и двух функций - это методы данного объекта. Процедура предназначена для задания первоначального положения объекта, а функция – для считывания его координат.
Инкапсуляция
Инкапсуляция является важнейшим
свойством объектов, на котором строится
объектно-ориентированное
Инкапсуляция и является средством организации доступа к данным только через соответствующие методы.
В нашем примере описание
объекта процедура
Наследование
Наследование – это
ещё одно базовое понятие
Пример описания объекта-
Tipe
Point = object(Location)
Visible: Boolean;
Procedure Int(IntX, IntY: Integer);
Procedure Show;
Procedure Hide;
Function IsVisible: Boolean;
Procedure MoveTo(NewX, NewY: Integer);
End;
Наследником здесь
является объект Point, описывающий
графическую точку, а
Объект-родитель может
быть уже в составе
В чём привлекательность наследования? Если некий объект был уже определён и отлажен, он может быть использован и в других программах. При этом может оказаться, что новая задача отличается от предыдущей, и возникает необходимость некоторой модификации как данных, так и методов их обработки. Программисту приходится решать дилемму – создания объектов заново или использовать результаты предыдущей работы, применяя механизм наследования. Первый путь менее эффективен, так как требует дополнительных затрат времени на отладку и тестирование. Во втором случае часть этой работы оказывается выполненной, что сокращает время на разработку новой программы. Программист при этом может и не знать деталей реализации объекта- родителя.
В нашем примере к объекту, связанному с определением положения графического элемента, просто добавилось новое поле, описывающее признак видимости графической точки, и несколько новых методов, связанных с режимом отображения точки и её преобразованиями.
6. Виртуальные методы
Наследование позволяет создавать иерархические, связанные отношениями подчинения, структуры данных. Следует, однако, заметить, что при использовании этой возможности могут возникнуть проблемы. Предположим, что в нашей графической программе необходимо определить объект Circle, который является потомком другого объекта Point:
Type
Circle = object (point)
Radius: Integer;
Procedure Show;
Procedure Hide;
Procedure Expand(ExpandBy: Integer);
Procedure Contact(ContactBy: Integer);
End;
Новый объект Circle соответствует окружности. Поскольку свойства окружности отличаются от свойств точки, в объекте-наследнике придется изменять процедуры Show и Hide, которые отображают окружность и удаляют её изображение с экрана. Может оказаться, что метод Init (см. предыдущий пример) объекта Circle, унаследованный от объекта Point, также использует методы Show и Hide, впредь во время трансляции объекта Point использует ссылки на старые методы. Очевидно в объекте Circle они работать не будут.
Можно, конечно, попытаться
«перекрыть» метод Init. Чтобы это
сделать, нам придётся
Для решения этой проблемы используется виртуальный метод. Связь между виртуальным методом и вызывающими их процедурами устанавливается не во время трансляции (это называется ранним связанием), а во время выполнения программы (позднее связание.
Чтобы использовать виртуальный метод, необходимо в описании объекта после заголовка метода добавить ключевое слово virtual. Заголовки виртуальных методов родителя и наследника должны в точности совпадать.
Инициализация экземпляра
объекта, имеющего виртуальные
методы, должна выполняться с
помощью специального метода
– конструктора. Конструктор обычно
присваивает полям объекта
Конструктор выполняет
действия по подготовке
У каждого объектного типа имеется своя собственная таблица виртуальных методов, что позволяет одному и тому же оператору вызывать разные процедуры. Если имеется несколько экземпляров объектов одного типа, то недостаточно вызвать конструктор для одного из них, а затем просто скопировать этот экземпляр во все остальные. Каждый объект должен иметь свой собственный конструктор, который вызывается для каждого экземпляра. В противном случае возможен сбой в работе программы.
Заметим, что конструктор
или деструктор, могут быть «пустыми»,
то есть не содержать
Динамическое создание объектов
Переменные объектного
типа могут быть динамическими,
Dispose. Обе процедуры в
этом случае содержат в
New(P, Construct) или
Dispose(P, Destruct)
Где P – указатель на переменную объектного типа, а Construct или
Destruct – конструктор и деструктор этого типа.
Действие процедуры
New в случае расширенного
New(P);
P^.Construct;
Эквивалентом Dispose является следующее:
P^Dispose;
Dispose(P)
Применение расширенного синтаксиса не только улучшает читаемость исходного кода, но и генерирует более короткий и эффективный исполняемый код.
Полиморфизм
Полиморфизм заключается
в том, что одно и то же
имя может соответствовать
Следующий вопрос, связанный с использованием объектов, заключается в совместимости объектных типов. Полезно знать следующее. Наследник сохраняет свойства совместимости с другими объектами своего родителя. В правой части оператора присваивания вместо типов родителя можно использовать типы наследника, но не наоборот. Таким образом, в нашем примере допустимы присваивания:
Var
Alocation : Location;
Apoin : Point;
Acircle : Circle;
Alocation :=Apoint
Apoint := Acrcle;
Alocation := Acircle;
Дело в том, что наследник может быть более сложным объектом, содержащим поля и методы, поэтому присваиваемые значения экземпляра объекта- родителя экземпляру объекта-наследника может оставить некоторые поля неопределёнными и, следовательно, представляет потенциальную опасность. При выполнении оператора присвоения копируются только те поля данных, которые являются общими для обоих типов.
Список используемой литературы
- Информатика для юристов и экономистов / Симонович С. В. и др. - СПб.: Питер, 2002.—688 с: ил.
- Информатика и информационные технологии / Гаврилов М.В. – Москва, 2007.-655
- Информационные системы/ Петров В.Н - СПб, 2002. - 688с.
- СУБД и файловые системы/Кузнецов С.Д.. - М.:, 2001. - 176с.
- Экономическая информатика. Введение в экономический анализ информационных систем: Учебник для вузов, обучающихся по экон. спец. -- М. : Инфра-М, 2005. -- 958с.
- Microsoft Office 2003: Руководство пользователя./Берлинер Э. М., Глазырина И. Б., Глазырин Б. З. -- М.: БИНОМ, 2004. - 314 с.
Задача 1. Определить объем текстового выражения в символах, битах, байтах, килобайтах. Компьютерная графика: Photoshop.
Компьютерная_графика:_
Символов =32
1 Байт = 1 печатному знаку, то есть символу Þ 32 Байта
1 Байт = 8Бит Þ 8*32=256, Þ256 Бита
1Кбайт =210 Байт Þ Кбайт = = =0,03125
Ответ: 32 символа; 32 Байта; 256 Бита; 0,03125 Кбайт.