Cтраница 2
В связи с поддержкой PowerBuilder 4.0 нескольких платформ, теперь для каждого приложения автоматически создается класс Environment. Как следует из его имени класс содержит информацию об окружении, в частности об операционной системе и об используемой версии PowerBuilder. Разработчик может использовать функцию GetEnvironment для ссылок на значения атрибутов класса Fnvironment и их изменения. [16]
Взаимосвязь дефинициальных свойств классов и фактуальных свойств их экземпляров выражается следующим принципом индукции свойств: дефинициальные свойства классов влекут фактуаль-ные свойства своих экземпляров. Принцип индукции явным образом отражается в операциях над классами и экземплярами классов. К ним относятся в первую очередь операции доступа к атрибутам класса и экземпляра класса. [17]
Глобальная функция рассматривается как независимая сущность в среде PowerBuilder, они не связаны с какими либо классами. Это означает, что когда глобальная функция вызывается в скрипте, PowerBuilder должен искать ее в исполняемом файле и, возможно, в множестве динамических библиотек. Напротив, функции уровня класса рассматриваются как атрибуты класса, в котором они декларированы. В качестве атрибутов класса функции уровня класса сохраняются и размещаются в памяти вместе со всей остальной информацией, относящейся к соответствующему классу. В результате выполнение функции уровня класса осуществляется значительно быстрее, чем глобальной функции. [18]
Атрибут класса, заключенный в квадратные скобки, располагается непосредственно перед объявлением класса. Первый аргумент в круглых скобках - значение, передаваемое конструктору класса-атрибута. Далее следует инициализация свойства класса-атрибута. Листинг 1.23 демонстрирует работу с атрибутами класса. [19]
Иерархическая структура нашего мира берет свое начало неизвестно откуда, но наша конкретная программа начинается с класса Mammal. В связи с этим некоторые переменные-члены, которые необходимы для работы базового класса, должны быть представлены в объявлении этого класса. Например, все животные независимо от вида и породы имеют возраст и вес. При этом атрибуты базового класса становятся атрибутами произведенного класса. [20]