Помимо объявления элементов
класса (полей, методов, свойств) описание класса, как правило, содержит директивы
protected (защищенный) и private (закрытый), которые устанавливают степень видимости
элементов класса в программе.
Элементы класса, объявленные
в секции protected, доступны только в порожденных от него классах. Область видимости
элементов класса этой секции не ограничивается модулем, в котором находится
описание класса. Обычно в секцию protected помещают описание методов класса.
Элементы класса, объявленные
в секции private, видимы только внутри модуля. Эти элементы не доступны за пределами
модуля, даже в производных классах. Обычно в секцию private помещают описание
полей класса, а методы, обеспечивающие доступ к этим полям, помещают в секцию
protected.
Ниже приведено описание
класса TPerson, в которое включены директивы управления доступом.
TPerson
= class private
FName:
TName; // значение свойства Name
FAddress:
TAddress; // значение свойства Address
protected
Constructor
Create(Name:TName);
Function
GetName: TName;
Function
GetAddress: TAddress;
Procedure
SetAddress(NewAddress:TAddress);
Property
Name: TName
read
GetName;
Property
Address: TAddress
read
GetAddress
write
SetAddress;
end;
Примечание
Иногда нужно полностью скрыть
элементы класса. В этом случае определение класса следует поместить в отдельный
модуль, а в программу, которая использует объекты этого класса, поместить
ссылку на модуль.
Знаете ли Вы, что такое "усталость света"? Усталость света, анг. tired light - это явление потери энергии квантом электромагнитного излучения при прохождении космических расстояний, то же самое, что эффект красного смещения спектра далеких галактик, обнаруженный Эдвином Хабблом в 1926 г. На самом деле кванты света, проходя миллиарды световых лет, отдают свою энергию эфиру, "пустому пространству", так как он является реальной физической средой - носителем электромагнитных колебаний с ненулевой вязкостью или трением, и, следовательно, колебания в этой среде должны затухать с расходом энергии на трение. Трение это чрезвычайно мало, а потому эффект "старения света" или "красное смещение Хаббла" обнаруживается лишь на межгалактических расстояниях. Таким образом, свет далеких звезд не суммируется со светом ближних. Далекие звезды становятся красными, а совсем далекие уходят в радиодиапазон и перестают быть видимыми вообще. Это реально наблюдаемое явление астрономии глубокого космоса. Подробнее читайте в FAQ по эфирной физике.