Cтраница 1
Объявления классов можно поместить в один файл с программой, но это не считается хорошим стилем программирования. [1]
Объявления классов должны завершаться точкой с запятой. [2]
![]() |
I ь. Формы для S I. 1. - 1. p - 1 o - - r, i я. [3] |
Файлы модулей кода фактически являются объявлениями классов для определяемой формы, а в главном файле приложения г. ипо / шяек-ч создание объектов на основе объявленных в модулях кода классов и создание главного окна приложения. [4]
![]() |
Диалоговое окно программы Полиморфизм. [5] |
Следующая программа, используя рассмотренные выше объявления классов TPerson, Tstud и TProf, формирует и выводит список студентов и преподавателей. [6]
NET позволяет объявлять новые типы внутри объявлений классов, и Delphi поддерживает такую возможность. В листинге 1.10 показано, как объявить один класс внутри другого, как создавать экземпляры внешнего и внутреннего классов и как получать доступ к их методам. [7]
Возможность встраивания файлов в другие файлы позволяет хранить объявления классов отдельно от их выполнения и использовать тогда, когда в этом возникает необходимость. [8]
В приведенной ниже таблице показаны результаты различных вариантов вызова метода Test этих объектов в зависимости от наличия или отсутствия опций, которыми снабжены объявления методов в приведенных выше объявлениях классов. [9]
Память резервируется определениями переменных. Объявления классов не резервируют память. [10]
Возможны также вложенные объявления классов. [11]
Я кратко упоминал о заголовочных файлах, когда рассказывал о классе iostream в первый день, Первое знакомство. Заголовочный файл должен содержать только объявления классов, структур и функций. Никогда не размещайте в нем исполняемые операторы. [12]
Все классы в VCL являются прямыми или косвенными наследниками TObject. Прямое наследование используется только при объявлении простых классов, объекты которых не являются компонентами, не могут присваиваться друг другу и не участвуют в операциях обмена с потоками. Подавляющее большинство классов являются косвенными наследниками TObject и производятся от промежуточных классов. Если при объявлении нового типа объектов не указывается класс-предок, то в приложениях VCL TObject считается предком нового класса. [13]
Как видите, C Builder помогает вам управлять модулями. Вы должны использовать опцию Include Unit Hdr, чтобы обеспечить модулям доступ к объявлениям классов, использующихся в других модулях, но в большинстве случаев C Builder освобождает вас от забот, связанных с исходными файлами. В будущем, когда ваши программы станут более сложными, вам потребуется уделять больше внимания организации исходных файлов, но на данном этапе C Builder берет на себя большую часть работы. [14]
К сожалению, при раздельной компиляции разные компиляторы налагают различные требования на реализацию шаблонов. Проблема заключается в том, что компилятор не может создать код для функции-члена, не зная типа параметра шаблона, который недоступен, так как определен в главной программе. Определение функций-членов внутри объявлений классов позволяет избегать подобного рода головоломок, связанных с компиляцией. [15]