СLАSS ПФ вводит абстрактное понятие
Например, программа может содержать следующее описание:
СLАSS ПФ
ЕNТRУ ОТК,ЗАК,ЗП,ЧТ
.
.
ОТК LAB
.
.
ЗАК LAB
.
.
ЗП LAB
.
.
ЧТ LAB
.
.
ЕND
СLАSS ПФ вводит абстрактное понятие ПФ - последовательный файл. Внутри класса содержатся структуры данных, реализующие последовательный файл (указатели, буфера), а также множество операций над ним: ОТК - открытие файла, ЗАК - закрытие файла, ЗП - запись в файл, ЧТ - чтение.
После того, как описаны такие абстрактные объекты, в программе можно использовать нововведенное понятие для работы с конкретным объектом - экземпляром кластера. Для этого необходимо объявить экземпляр кластера. Для объявления нового экземпляра используется конструкция DЕFINЕ.
Например, конструкция ПФ DЕFINЕ Ф1 объявляет экземпляр кластера с именем Ф1. После порождения экземпляра становятся определенными операции над кластером:
/Ф1/ОТК - открытие кластера Ф1
/Ф1/ЗАК - закрытие кластера Ф1
/Ф1/ЗП - запись в кластер Ф1
/Ф1/ЧТ - чтение из кластера Ф1
В программе можно определить произвольное число экземпляров некоторого класса. Например:
СLАSS ПФ описание класса
.
.
.
ЕND
ПФ DЕFINЕ Ф1 объявление двух экземпляров
ПФ DЕFINЕ Ф2 Ф1 и Ф2 по классу ПФ.
IDENT ПРОГ
.
.
R /Ф1/ОТК открытие кластера Ф1
R /Ф2/ОТК открытие кластера Ф2
.
.
.
R /Ф1/ЧТ чтение из файла Ф1
R /Ф2/ЗП запись в файл Ф2
.
.
.
R /Ф1/ЗАК закрытие файлов
R /Ф2/ЗАК
.
.
END
Из примера видно, что программа состоит из двух разделов. Первый раздел состоит из описания класса и объявления экземпляров кластеров. Второй раздел, в котором сосредоточена вся содержательная работа, - использование кластеров. Оба этих раздела можно разнести и по времени (раздельно транслировать), и по пространству (хранить в разных библиотеках). Во втором разделе - то есть собственно в программе - абстрактный объект выступает как набор процедур.
Раздельность описания, объявления и использования кластеров, а также существование эквивалентных классов дает максимальный эффект использования кластерной техники.
Содержание Назад Вперед