- •Назовите структурные операторы, применяемые в Object Pascal, и их особенности
- •Использовании подпрограмм в Object Pascal и их разновидности
- •Различных механизмах передачи параметров в под программы Delphi
- •Перечислите области видимости элементов классов, применяемые в Object Pascal
- •Расскажите о правилах описания методов в классах и их особенностях
- •Объясните понятия статических, перегружаемых и абстрактных методов
- •Опишите правила наследования классов.
- •Поясните сущность полиморфизма
- •Расскажите о возможностях определения типа объекта во время выполнения программы и приведение типов объектов
- •Опишите жизненный цикл экземпляра класса, расскажите о конструкторе экземпляров класса
- •Расскажите о деструкторе класса экземпляров класса
- •Деструкторе класса экземпляров класса
- •Описание и использование специальных свойств| объекта property
- •Опишите механизм сообщений в ос Windows
- •Расскажите о методах обработки исключительных ситуаций
- •Расскажите о классах, предназначенных для хранения информации в виде списков
- •Основные свойства и методы классов-списков
- •Опишите возможности и особенности хранения строковых массивов в классах-наследниках tStrings
- •Поясните понятие потока и объясните преимущество использования потоков по отношению к традиционным методам чтения/записи данных
- •Расскажите о строчных потоках, построенных на основе оперативной памяти
- •Поясните понятие графического контекста Windows
- •Форматы графических файлов, поддерживаемых Delphi
- •Расскажите о файлах, соответствующих каждой форме приложения в Delphi
- •Опишите структуру приложения на Delphi, расскажите о видах интерфейса приложения с точки зрения расположения его окон на экране
- •Опишите процесс построения приложения в Delphi
- •Опишите основные инструменты среды разработчика Delphi
- •Опишите жизненный цикл экземпляров классов
- •Расскажите о механизме интерфейсов в Delphi
- •Расскажите об интерфейсах (Interface и (Unknown))
- •Расскажите о правилах именования компонентов и автоматическое именование их Средой разработчика
- •Поясните разницу между свойством принадлежности компонентов и свойством визуальной принадлежности
- •Расскажите о взаимосвязях компонентовчерез механизм уведомлений
- •Расскажите о визуальных компонентах-оболочкахи легковесных компонентах
- •Расскажите об организации структуры элементов управления в окне
- •Расскажите об методах расположения визуальных компонентов на экране и управления их размерами
- •Расскажите о свойствах видимости и доступности визуальных компонентов
- •Расскажите о компонентах, предназначенных для вывода на экран текстовой информации
- •Расскажите о компонентах, предназначенных для ввода текстовой информации
- •При помощи каких компонентов можно обеспечить возможность ввода пользователем числовых значений?
- •При помощи каких компонентов можно вывести на экран какое-либо графическое изображение?
- •Расскажите о возможностях элементов управления — кнопок
- •Приведите правила создания компонентов во время выполнения программы
- •Поясните понятие диалогового компонента
- •Поясните разницу между модальными и немодальными диалогами
- •Поясните понятие формы и основы использования форм в Delphi
- •Опишите жизненный цикл формы
- •Расскажите об основах организации многооконных приложений в Delphi
- •Поясните понятие фрейма
- •Расскажите о депозитарии форм
- •Опишите основные методы, применяемые в Delphi для управления окружением программы
- •Расскажите про использование dll в программных продуктах
- •Расскажите про многопоточные приложения
- •Расскажите об особенностях модели сом
- •Расскажите про модель сообщений компонентов
Опишите основные инструменты среды разработчика Delphi
Ответ: Среда разработчика Delphi реализована по принципу SDI — при-
ложение одного документа — и состоит из набора окон, которые могут быть
расположены в любом месте экрана независимо друг от друга. Можно
указать основные окна, используемые при разработке большинства про-
граммных продуктов:
1. Главное окно с Палитрой компонентов и главным меню.
2. Инспектор объектов, предназначенный для настройки компонентов, рас-
положенных на форме.
3. Менеджер проектов, предназначенный для удобной работы с группами
проектов.
4. Окно исходного текста программы, предназначенное для реализации
логики программы, которая не может быть достигнута путем визуально-
го построения.
5. Окно навигации по коду и окно дерева объектов формы, позволяющие
быстро перемещаться между элементами программы.
Опишите жизненный цикл экземпляров классов
Ответ: Жизненный цикл экземпляра класса начинается с его создания с
помощью вызова конструктора и дополнительных методов, причем эти
методы вызываются автоматически в такой последовательности:
1. Newinstance — выделение памяти, использует InstanceSize для опре-
деления размера памяти.
2. initinstance — очистка выделенной памяти и настройка таблицы вир-
туальных методов.
3. Версия конструктора Create, определенная в классе, из которого он
вызывается.
4. Af terConstruction — только в случае безошибочного выполнения пре-
дыдущих методов.
Далее объект становится полноправной частью программы и может исполь-
зоваться для работы с его свойствами и методами.
Расскажите о механизме интерфейсов в Delphi
Ответ: Интерфейсы в Delphi аналогичны классам, не имеющим свойств, и
все методы которых абстрактны. Для идентификации интерфейса, его опи-
сание может включать в себя указание глобального уникального иденти-
фикатора — GUID. Описание интерфейса выглядит следующим образом:
Туре
<Название интерфейса> = Interface(<Название родительс-
кого интерфейса>);
[Л{хххххххх-хххх-хххх-хххх-хххххххххххх}' ]
Оаголовок метода 1>;
<3аголовок метода N>;
end;
Механизм интерфейсов позволяет частично осуществлять множественное
наследование, то есть создание класса на основе одного родительского
класса и нескольких интерфейс'ов. Для этого стандартное описание клас-
са расширено, и в его заголовке после родительского класса указывается
список реализуемых интерфейсов:
Туре
<Название класса> = class (<Родительский класО,
<Интерфейс 1>, ..., <Интерфейс
<Свойства>
<3аголовки методов, описанные в интерфейсах>
Заголовки собственных методов>
Заголовки переопределенных методов родительского класса>
end;
Если в заголовке класса указаны интерфейсы, которые он реализует, то
все методы этих интерфейсов должны быть либо описаны полностью, либо
указаны в интерфейсной части описания класса, как абстрактные.
Расскажите об интерфейсах (Interface и (Unknown))
Ответ: Интерфейсы, так же как и классы, поддерживают наследование, то
есть класс, реализующий некоторый интерфейс, должен описать все ме-
тоды, заявленные и в нем самом, и заявленные в его родительском ин-
терфейсе. Если интерфейс описывается без указания родительского ин-
терфейса, то его родителем считается интерфейс (Interface.)
В данном интерфейсе описаны методы _AddRef и _Release, поддержи-
вающие работу со ссылками на экземпляры классов, реализующих интер-
фейсы, и, фактически, обеспечивающие счетчик использования экземпля-
ров класса. При первом обращении к интерфейсу (создании объекта,
реализующего данный интерфейс) счетчик устанавливается на 1, далее, при
последующих обращениях, увеличивается методом _AddRef, а при разру-
шении уменьшается методом _Release.
Еще одна важная функция базового интерфейса llnterface — определение
информации о других интерфейсах, реализуемых классом.
Для объектов, которые необходимо использовать для реализации в про-
грамме технологии СОМ, используется другой базовый интерфейс, полно-
стью совпадающий с llnterface по методам — lUnknown.
Опишите возможности класса TPersistent
Ответ: Класс TPersistent инкапсулирует методы для поддержки пере-
носимости информации из одного объекта в другой (методы Assign и
AssignTo), а также для сохраняемости значений свойств объектов в фай-
лы форм. Под сохраняемостью свойств экземпляров именно этого класса
понимается возможность сохранения свойств объектов, не заявленных в
секции published, в файлы форм и другие потоки данных. Такая возмож-
ность может потребоваться при создании компонентов, свойства которых
ссылаются на другие компоненты, созданные во время выполнения про-
граммы или ее визуальной разработки.
Поясните понятие компонента в Delphi
Ответ: Компоненты являются наследниками класса TComponent, имею-
щего следующие возможности:
Интеграция с IDE Delphi, то есть возможность находиться в Палитре ком-
понентов IDE и участвовать в процессе визуального проектирования;
«Поддержка свойства принадлежности, то есть управления другими компонентами;
» Поддержка сохраняемости и восстанавливаемости, реализованная в классе TPersistent;
» Поддержка технологии СОМ, то есть возможности экспорта компонентов в компоненты ActiveX или импорта компонентов ActiveX в ком-
поненты Delphi.
Компоненты могут быть визуальными, то есть имеющими представление
на экране во время работы приложения, невизуальными — не имеющими
такого представления, и диалоговыми — не имеющими визуального пред-
ставления, но выводящими отдельные окна для взаимодействия с пользо-
вателем.
Визуальные компоненты являются наследниками класса TControl, неви-
зуальные наследуются напрямую от класса TComponent, а диалоговые ком-
поненты имеют в качестве родительского класса TCommonDialog.