10, Классы и объекты в Borland Pascal
Procedure TRoomJnit; {инициализирующий метод}
Begin
length: =1; width: =w; End;
End.
Сокрытие некоторых полей и методов класса упрощает интерфейс клас са, т. е. программист, использующий библиотечный класс, не получает лиш ней для него информации о внутренних механизмах реализации состояния и поведения объектов данного класса. Одновременно с этим программист, за нимающийся разработкой библиотечных классов, получает возможность вносить изменения в реализацию класса, не заботясь об изменении про грамм, использующих объекты данного класса.
10.4. Практикум. Создание универсальных объектов
Даже отдельные объекты, разработанные для выполнения наиболее час то встречающихся действий, могут существенно упростить программисту создание программных продуктов. В качестве примера такого «универсаль ного» объекта разработаем класс, объектами которого будут графики функ ций.
Пример 10.2. Разработать класс, объекты которого представляют собой окно, содержащее график функции одной переменной. Размеры окна, интер вал изменения аргумента, его шаг и сама функция должны задаваться основ ной программой (рис. 10.2).
Основные принципы построения графиков функций в программах об суждались в параграфе 8.6. По сравнению с программой, рассмотренной там, внесем следующие изменения. Во-первых, обеспечим возможность построе ния графика функции, заданной в основной программе, для чего используем параметр процедурного типа. Во-вторых, в процессе разработки методов, обеспечивающих реакции на запросы, выделим внутренние процедуры. В-третьих, координаты точек графика запишем в динамический массив, а сам график будем выводить с использованием процедуры рисования лома ной линии DrawPoly.
Проектирование класса для реализации объекта начинаем с определения полей объекта. Прежде всего, переменные класса должны хранить всю ис ходную информацию: ссылку на функцию F, интервал изменения аргумента
|
[хп, хк], количество точек п и параметры окна |
|
|
х1, у 1, х2, у2, в которое выводится график. Кро- |
Создать (...) |
|
ме того, для построения графика необходимо |
График |
|
знать минимальное Fmin и максимальные Fmax |
|
|
|
значения функции на заданном отрезке, мае- |
Рис. 10.2. Объект График |
|
штабы тх, т у по осям х и у, шаг изменения ар- |