Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1_SAOD_-_Dinamicheskie_peremennye_OOP.doc
Скачиваний:
12
Добавлен:
21.03.2016
Размер:
1.06 Mб
Скачать

Контрольные вопросы

  1. В чем сущность объектно-ориентированного программирования?

  2. Что означает принцип инкапсуляции в ООП?

  3. В чем заключается свойство наследования в ООП?

  4. Что такое класс и как он описывается?

  5. Как описываются и реализуются методы класса?

  6. Что такое экземпляр класса?

  7. Как осуществляется обращение к методам объектов?

  8. Каким образом осуществляется перекрытие методов?

  9. В каких случаях метод наследуется, а в каких перекрывается?

  10. В чем состоит принцип полиморфизма в ООП?

  11. В чем различие статических и виртуальных методов с точки зрения их выполнения?

  12. В чем сущность позднего связывания?

  13. С какой целью методы следует объявлять виртуальными?

  14. Какие методы следует объявлять виртуальными?

  15. Какие функции выполняет конструктор?

  16. Какие функции выполняет деструктор?

  17. Что представляет собой информация о классе?

  18. Каков внутренний формат экземпляра объектного типа?

  19. Какова структура таблицы виртуальных методов?

  20. Какова структура таблицы динамических методов?

Лабораторная работа 3. Создание класса – списка

Задание

Создайте класс «Список» с полями: указатель на начало списка, размер списка и со следующими обязательными методами: конструктор Create– создание пустого списка; деструкторDestroy– уничтожение списка;Clear– удаление всех элементов списка;InsertFirst(v)– включение элемента со значениемvв начало списка;WriteList(f)– вывод элементов списка в файлf.

Поля закройте от прямого доступа с помощью свойств.

Реализуйте в виде методов подпрограммы обработки списка, указанные в вашем варианте задания к лабораторной работе 1 «Указатели и динамические переменные».

Описание и реализацию класса «Список» расположите в модуле.

С использование разработанных методов составьте программу работы с экземплярами класса «Список» в соответствии с вашим вариантом задания.

Пример выполнения задания

Описать и реализовать класс «Список» целочисленных элементов. Реализовать метод записи отрицательных нечетных элементов списка в один список, положительных четных – в другой и продемонстрировать его работу.

// Лабораторная работа 3.

// Создание класса – списка.

// Выполнил Сергеев Андрей, группа 999.

// Модуль описания и реализации списка. Имя файла ListClass.pas.

unit ListClass;

Interface

type

tValue=Integer; // тип содержательной части элемента спискацелый

pItem=^tItem; // тип указателя на элемент списка

tItem=record // тип элемента списка

Value: tValue; // содержательная часть элемента списка

Next : pItem; // указатель на следующий элемент списка

end; // record tItem

tList=class(tObject) // класс - «Список»

private

fHead:pItem; // поле - указатель на начало списка

fSize:Word; // поле – число элементов списка

public

property Head:pItem read fHead write fHead;

property Size:Word read fSize;

constructorCreate;// конструктор – создание пустого списка

destructorDestroy;override;// деструктор – удаление списка

procedureInsertFirst(v:tValue);// включение элемента со знач. v в начало списка

procedure InsertLast(v: tValue); // включение элемента со знач. v в конец списка

procedureWriteList(varf:Text);// вывод значений элементов списка в файл f

procedureClear;// удаление элементов из списка

procedure FormLists(var L1, L2: tList); // формирование новых списков L1, L2

end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]