![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
class function
JN © (2008-07-14 17:17:00)Для чего используются class function и в чем из отличие от простых функций
Kolan (2008-07-14 18:13:00) [1]> clickmaker © (14.07.08 17:46)
Благодарю.
clickmaker (2008-07-14 17:46:00) [2]> [3] Kolan © (14.07.08 17:22)
> > или вызов модальной формы одной строкой
>
> Покажи как?
class function TMyForm.Execute(какие-то параметры): boolean;
begin
with TMyForm.Create(Application) do begin
try
// инициализируем
Result := ( ShowModal = mrOk );
// здесь можно что-то вернуть в var-параметрах
finally
Free;
end;
end;
end;
Правильный$Вася (2008-07-14 17:27:00) [3]читаем справку
A class method is a method (other than a constructor) that operates on classes instead of objects
т.е. их можно вызывать без создания экземпляра класса
Поросенок Винни-Пух (2008-07-14 17:27:00) [4]Для чего используются
Для специфических случаев.
Например класс инкапсулирующий криптоконтекст.
Для работы нужны имя контейнера, контексты того и сего.
Все это хранится в полях экземпляра.
А для вычисления хеша ничего такого не надо.
то есть
TCryptoClass = class()
function Encrypt(...) : sometype;
class function HashFile() : .....
end;
для вычисления хеша экземпляр и его инициализация нам не нужны
Kolan (2008-07-14 17:22:00) [5]> или вызов модальной формы одной строкой
Покажи как?
clickmaker (2008-07-14 17:21:00) [6]или вызов модальной формы одной строкой
Kolan (2008-07-14 17:19:00) [7]Это классовая функция.
TClass = class
class funciton Foo: Integer;
end;
Можно писать:
A := TClass.Foo;
Ими удобно реализовывать синглетон, например.