Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы и ответы к письм. мод. по Делфи.doc
Скачиваний:
4
Добавлен:
18.07.2019
Размер:
271.36 Кб
Скачать

Перечислите области видимости элементов классов, применяемые в Object Pascal

Ответ: Для разграничения доступа к свойствам и методам объектов классов между различными частями программы предусмотрены модификаторы доступа («видимости»).

Модификатор доступа относится не к конкретному свойству или методу класса, а ко всем элементам класса, описание которых располагается после указания модификатора. Один и тот же модификатор может указываться в описании класса более одного раза.

В Object Pascal применяется четыре области видимости:

закрытая для всех фрагментов программ, не находящихся в одном модуле с описываемым классом. Такая область видимости начинается ключевым СЛОВОМ private;

• видимая только классам, наследуемым отданного, или расположенным в одном модуле с описанием данного класса. Такая область видимости начинается ключевым словом protected;

доступная любым фрагментам программы. Такая область видимости начинается ключевым словом public;

доступная любым фрагментам программы, а также выдающая информацию о своих описаниях во время выполнения программы. Описания, расположенные в такой области видимости, доступны для изменения в режиме визуальной разработки программы. Область начинается ключевым СЛОВОМ published.

Расскажите о правилах описания методов в классах и их особенностях

Ответ: Описательная часть класса находится в разделе описания локальных подпрограмм. Методы, заявленные в интерфейсной части реализуются по обычным правилам описания процедур и функций. Для связи функций с классом, методами которого они являются, название классауказывается перед именем самой функции:

Procedure <Имя класса>.<Имя 1Йетода>(<Список параметров>) ;

<Список модификаторов;»;

Или для методов-функций:

Function <Имя класса>.<Имя метода>(<Список параметров>):

<Тип значения>; <Список модификаторов>;

Отличием методов от обычных процедур и функций является то, что они могут обращаться к свойствам классов по имени без указания объектов.

На этапе выполнения программы такие обращения будут перенаправлены к свойствам объектов, из которых вызываются соответствующие методы.

Вызов метода из экземпляра класса предваряется названием переменной, указывающей на необходимый экземпляр:

<Имя объекта>.<Имя метода>(<Список параметров>);

Объясните понятия статических, перегружаемых и абстрактных методов

Ответ: В Object Pascal реализованы методы класса (статические методы), особенность, которых состоит в том, что для их вызова нет необходимости создавать объект (экземпляр класса). Статические методы можно использовать как обычные подпрограммы. Однако такие методы доступны и из экземпляров класса. Для описания статических методов используется ключевое слово class перед заголовком метода. Для вызова метода класса необходимо указать название класса и название метода со списком необходимых параметров. Допускается использование перегружаемых методов, то есть методов с идентичными именами, но разной сигнатурой. Их описание и использование аналогично работе с перегружаемыми подпрограммами.

Для того чтобы не описывать «пустые» методы, в Delphi предусмотрен специальный модификатор методов abstract. Описание метода, помеченного ключевым словом abstract, в классе, где он заявлен, не требуется, однако и вызвать его из экземпляра данного класса невозможно. Абстрактный метод всегда является виртуальным (помечен ключевым словом virtual) или динамическим (помечен ключевым словом dynamic) и может быть переопределен в одном из классов-потомков. Соответственно, из экземпляров классов, переопределивших абстрактный метод, его вызов возможен.