русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Implementation


Дата добавления: 2013-12-23; просмотров: 1053; Нарушение авторских прав


Interface

Implementation

Interface

ОБЛАСТИ ВИДИМОСТИ

 

Для определения области видимости в Delphi используются спецификаторы доступа: public, private, protected.

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

· Поля, свойства и методы, находящиеся в секции private, доступны только в методах класса и в функциях, содержащихся в том же модуле, что и описываемый класс. Такая директива позволяет скрыть детали внутренней реализации класс от всех.

· Поля, свойства и методы, находящиеся в секции protected, доступны для любых объектов внутри данного модуля, а также для объектов классов — наследников данного класса в других модулях. Объекты из других модулей, классы которых не являются наследниками данного класса, защищенных элементов не видят.

Пример:

 

unit First;

type

TFirstObj = class;

public

procedure method1;

private

procedure method2;

protected

procedure method3;

end;

procedure proc1;

 

var AFirstObj: TFirstObj;

 

 

procedure proc1;

begin

AFirstObj:=TFirstObj.Create;

AFirstObj.method1; {можно}

AFirstObj.method2; {можно}

AFirstObj.method3; {Нельзя (Похоже что все-таки можно)}

AFirstObj.Free;

end;

end.

//--------------------------------------------------------------------

unit Second;

uses First;

type

TSecondObj = class(TFirstObj)

procedure method4;

end;

procedure proc2;

var ASecondObj: TSecondObj;

procedure TSecondObj.method4;

begin

method1; {можно}

method2; {Нельзя}

method3; {можно}

end;

procedure proc2;

begin

ASecondObj:= TSecondObj.Create;



ASecondObj.method1; {можно}

ASecondObj.method2; {Нельзя}

ASecondObj.method3; {Нельзя}

ASecondObj.Free;

end;

end.

 

· Элементы, объявленные в разделе interfaceмодуля вне описания типа (класса), видимы и доступны внутри данного модуля и из внешних модулей. В рассмотренном ниже примере это относится к переменной Ch2 и процедуре F3.

· Элементы, объявленные в разделе implementationмодуля, видимы и доступны внутри данного модуля, но не доступны из внешних модулей. В рассмотренном ниже примере это относится к переменной СhЗ и процедуре F4.

· Элементы, объявленные внутри другой процедуры (в рассмотренном примере это переменная Ch4 и процедура F5,описанные внутри процедуры TForml.ButtonlClick),являются локальными, т.е. они видимы и доступны только внутри данной процедуры или внутри процедур, вложенных в данную. При этом время жизни переменных, объявленных внутри процедуры, определяется временем выполнения данной процедуры.

 

Пример:

 

unit Unitl;



<== предыдущая лекция | следующая лекция ==>
ИНКАПСУЛЯЦИЯ | ОБРАБОТКА ИСКЛЮЧИТЕЛЬНЫХ СИТУАЦИЙ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.