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

UptoLike

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

4
В ВЕДЕНИЕ
Настоящие методические указания продолжают пособие автора
[*] Введение в объектно-ориентированное программирование на язы-
ке Object Pascal. Иваново: ИвГУ, 2005.
Они содержат примеры решения задач, ил люстрирующие понятия и ме-
тоды программирования, рассмотренные в первых трех частях этого
пособия.
В первом параграфе описывается процесс построения би блиотеки
подпрограмм для работы с целочисленными векторами фикс ированной
длины . Обсуждается разработка интерфейса библиотеки, ее реализация,
размещение внутри мод у ля и использование.
Второй п араграф содержит серию из четырех задач, в которых
строятся клас сы-кон тейнеры . Они называются так потому, что служат
оболочкой для набора данных других типов : чисел , записей, объектов и
т . п . Контейнеры как нельзя лучше демонстрируют особенности и пре-
имущества объектного программирования.
Задача 2.1 показывает, как преобразовать созданную ранее библио-
теку в класс для представления целочисленных векторов . Далее получен -
ный класс постепенно усложняется. Сначала компонентами вектора ста-
новятся записи, представляющие рациональные числа (зад ача 2.2), затем
объекты класса Rational, содержательно имеющие тот же смысл (зад а-
ча 2.3). Наконец , в задаче 2.4 снимается ограничение на длину вектора.
Для реализации последнего класса используются динамические массивы,
необходимые сведения о которых приводятся прямо в ходе реше ния.
В третьем параграфе описанная серия продолжается задачей по-
строения класса для представления векторов , компоненты которых мо-
гут иметь произвольный (почти) тип. Решение этой задачи уже требует
приемов объект но-ориентированного программирования. В частности,
оно использует такое специальное средство языка Object Pascal, как клас-
совые ссылки, объявление, внутренняя структура и использование кот о-
рых рассматриваются в начале параграфа.
Наконец , в четвертом параграфе строятся два класса, аналогич-
ных Rational, объекты которых служат для представления целых чисел и
цветов в формате RGB. Задача 4.1 иллюстрирует разработку производ-
ных классов и некоторые возникающие при этом проблемы. В задаче 4.2
указанные классы используются для того, чтобы в полном объеме про-
демонстрировать возможности контейнера из задачи 3.1, а также ис -
пользование классовых ссылок для обобщенного программирования.
                                     В В Е Д Е НИЕ

        Н ас тоящ ие м етод ичес кие указ ания прод ол жают пос обие ав тора
  [*] Вв ед ение в объект но-ориент иров анное програм м иров ание на яз ы -
      ке Object Pascal. И в анов о: И в ГУ, 2005.
О ни с од ержат прим еры решения з ад ач, ил л юс т рирующ ие понят ия и м е-
тод ы програм м иров ания, рас с м от ренны е в перв ы х т рех час тях этого
пос обия.
         В перв ом параграфе опис ы в ает с я проц ес с пос т роения библ иот еки
под програм м д л я работ ы с ц ел очис л енны м и в екторам и фикс иров анной
д л ины . О бс ужд ает с я раз работ ка инт ерфейс а библ иот еки, ее реал из ац ия,
раз м ещ ение в нут ри м од ул я и ис пол ь з ов ание.
         Второй параграф с од ержит с ерию из чет ы рех з ад ач, в которы х
с т роят с я кл ас с ы -конт ейнеры . О ни наз ы в ают с я т ак потом у, что с л ужат
обол очкой д л я набора д анны х д ругих т ипов : чис ел , з апис ей, объектов и
т. п. Конт ейнеры как нел ь з я л учше д ем онс т рируют ос обеннос т и и пре-
им ущ ес т в а об ъе ктн ог  о програм м иров ания.
         Зад ача 2.1 показ ы в ает, как преобраз ов ать с оз д анную ранее библ ио-
теку в кл ас с д л я пред с т ав л ения ц ел очис л енны х в екторов . Дал ее пол учен-
ны й кл ас с пос тепенноус л ожняет с я. С начал а ком понент ам и в ектора с т а-
нов ят с я з апис и, пред с т ав л яющ ие рац ионал ь ны е чис л а (з ад ача 2.2), з ат ем
— объект ы кл ас с а Rational, с од ержател ь ноим еющ ие тот же с м ы с л (з ад а-
ча 2.3). Н аконец , в з ад аче 2.4 с ним ает с я ограничение на д л ину в ектора.
Дл я реал из ац ии пос л ед негокл ас с а ис пол ь з уют с я д инам ичес кие м ас с ив ы ,
необход им ы е с в ед ения окоторы х прив од ят с я прям ов ход е решения.
         В т рет ь ем параграфе опис анная с ерия прод ол жает с я з ад ачей по-
с т роения кл ас с а д л я пред с т ав л ения в екторов , ком понент ы которы х м о-
гут им ет ь произ в ол ь ны й (почт и) т ип. Решение этой з ад ачи уже т ребует
прием ов об ъе ктн о-орие н тирова н н ог        о програм м иров ания. В час т нос т и,
оноис пол ь з ует т акое с пец иал ь ное с ред с т в ояз ы ка Object Pascal, как кл ас -
с ов ы е с с ы л ки, объяв л ение, в нут ренняя с т рукт ура и ис пол ь з ов ание кото-
ры х рас с м ат рив ают с я в начал е параграфа.
         Н аконец , в чет в ертом параграфе с т роят с я д в а кл ас с а, анал огич-
ны х Rational, объект ы которы х с л ужат д л я пред с т ав л ения ц ел ы х чис ел и
ц в етов в форм ат е RGB. Зад ача 4.1 ил л юс т рирует раз работ ку произ в од -
ны х кл ас с ов и некоторы е в оз никающ ие при этом пробл ем ы . В з ад аче 4.2
указ анны е кл ас с ы ис пол ь з уют с я д л я того, чтобы в пол ном объем е про-
д ем онс т риров ат ь в оз м ожнос т и конт ейнера из з ад ачи 3.1, а т акже ис -
пол ь з ов ание кл ас с ов ы х с с ы л ок д л я обобщ енногопрограм м иров ания.


                                           4