Разработка классов на языке Object Pascal. Соколов Е.В. - 12 стр.

UptoLike

Составители: 

12
2. ПРОСТЕЙШИЕ КЛАССЫ - КОНТЕЙНЕРЫ
Класс называют контейнером , если его объекты содержат внутри
себя некоторый набор однотипных данных. К контейнерам относятся
классы, реализующие массивы, списки, множества и други е подобные
структуры . Настоящий параграф содержит серию из четырех задач воз-
растающей сложности, в каждой из которых требуется построить класс,
представляющий вектор с теми или иными свойствами. Первая задача
существенным образом использует код библиотеки, созданной в преды-
дущем параграфе. Эта библиотека дает нам «скелет» решения, обладая
которым мы можем лучше увидеть особенности объектного программи-
рования.
Задача 2.1. Требуется разработать класс, объекты которого пред -
ставляют целочисленные векторы фиксированной размерности n. Класс
должен содержать открытые методы, выполняющие те же операции, что
и под програм мы библиотеки из задачи 1.1. Требуется также поместить
полученный класс в отдельный модуль и создать программу, использую-
щую данный модуль и демонстрирующую работу с объектами класса.
Схема решения .
1. Определение имени нового класса.
2. Разработка открытого интерфейса класса, представляющего с о-
бой список объявлений методов , которые можно будет вызывать из пол ь -
зовательской программы.
3. Раз работка закрытого и , при необходимости, защищенного и н -
терфейса. Эта часть решения включает в себя в первую очередь опред е-
ление реализации класса, т. е. списка полей, которые будут хранить всю
необходимую информацию об объекте.
4. Доработка открытого интерфейса с учетом особенностей реал и-
зации: решение вопроса о необходимости переопределения конструкт о-
ра Create и деструктора Destroy.
5. Реализация методов класса.
6. Добавление к закрытому интерфейсу вспомогательных методов ,
если таковые появились в ходе реализации методов .
7. Размещение класса внутри модуля.
8. Разработка программы, манипулирующей объектами класса.
Отметим основное отличие данной схемы от схемы решения з а-
дачи 1.1: перед разработкой открытого интерфейса класса нам необх о-
димо зафиксировать лишь название класса, все остальные детали реал и-
                 2. П РО СТ Е Й Ш И Е К Л А ССЫ -К О Н Т Е Й Н Е РЫ

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

          Задача2.1. Требует с я раз работ ат ь кл ас с , объект ы которогопред -
с т ав л яют ц ел очис л енны е в екторы фикс иров анной раз м ернос т и n. Кл ас с
д ол жен с од ержат ь от кры т ы е м етод ы , в ы пол няющ ие т е же операц ии, что
и под програм м ы библ иот еки из з ад ачи 1.1. Требует с я т акже пом ес т ит ь
пол ученны й кл ас с в отд ел ь ны й м од ул ь и с оз д ат ь програм м у, ис пол ь з ую-
щ ую д анны й м од ул ь и д ем онс т рирующ ую работу с объект ам и кл ас с а.

          Схема реш ения.
     1. О пред ел ение им ени нов огокл ас с а.
     2. Раз работ ка от кры того инт ерфейс а кл ас с а, пред с т ав л яющ его с о-
бой с пис ок объяв л ений м етод ов , которы е м ожнобуд ет в ы з ы в ат ь из пол ь -
з ов ат ел ь с кой програм м ы .
     3. Раз работ ка з акры того и, при необход им ос т и, з ащ ищ енного ин-
т ерфейс а. Э т а час т ь решения в кл ючает в с ебя в перв ую очеред ь опред е-
л ение реал из ац ии кл ас с а, т. е. с пис ка пол ей, которы е буд ут хранит ь в с ю
необход им ую информ ац ию об объект е.
     4. Доработ ка от кры того инт ерфейс а с учет ом ос обеннос т ей реал и-
з ац ии: решение в опрос а онеобход им ос т и переопред ел ения конс т рукто-
ра Create и д ес т руктора Destroy.
     5. Реал из ац ия м етод ов кл ас с а.
     6. Добав л ение к з акры том у инт ерфейс у в с пом огат ел ь ны х м етод ов ,
ес л и т аков ы е появ ил ис ь в ход е реал из ац ии м етод ов .
     7. Раз м ещ ение кл ас с а в нут ри м од ул я.
     8. Раз работ ка програм м ы , м анипул ирующ ей объект ам и кл ас с а.
          О т м ет им ос нов ное отл ичие д анной с хем ы от с хем ы решения з а-
д ачи 1.1: перед раз работ кой от кры того инт ерфейс а кл ас с а нам необхо-
д им оз афикс иров ат ь л ишь наз в ание кл ас с а, в с е ос т ал ь ны е д ет ал и реал и-


                                           12