Ин Делпхи, метода је поступак или функција која изводи операцију на објекту. Метода класе је метода која дјелује на референцу класе умјесто референце објекта.
Ако читате између редака, установићете да су методе класе доступне и када нисте креирали инстанцу класе (објекта).
Методе класе вс. Објецт Метходс
Сваки пут када направите Делпхи компонента динамички, користите метод класе: Конструктор.
Конструктор Цреате је класна метода, за разлику од готово свих других метода на које ћете наићи у Делпхи програмирању, а то су објектне методе. Метода класе је метода класе, и на одговарајући начин, објектна метода је метода коју може назвати инстанца класе. Ово најбоље илуструје пример, са класама и објектима црвено истакнутим ради јасноће:
миЦхецкбок: = ТЦхецкбок. Креирај (нула);
Овде позиву за креирање претходи назив класе и период („ТЦхецкбок.“). То је метода класе, обично позната као конструктор. Ово је механизам помоћу којег се стварају примерци класе. Резултат је примера класе ТЦхецкбок. Ови се примјерци називају објекти. Упоредите претходни ред кода са следећим:
миЦхецкбок. Репаинт;
Овде се зове Репаинт метода ТЦхецкбок објекта (наслеђен од ТВинЦонтрол). Позиву на Репаинт претходи објектна варијабла и период („миЦхецкбок.“).
Методе класе могу бити позване без инстанције класе (нпр. „ТЦхецкбок. Креирај"). Методе класе се такође могу позвати директно из објекта (нпр., "МиЦхецкбок. Назив класе"). Међутим, објектне методе могу позвати само инстанца класе (нпр., "МиЦхецкбок. Репаинт ").
Иза кулиса стоји конструктор Цреате додељивање меморије за објект (и обављање било које додатне иницијализације као што је специфицирано од стране ТЦхецкбок-а или његових предака).
Експериментишући методама сопствене класе
Помислите на АбоутБок (прилагођени образац „О овој апликацији“). Следећи код користи нешто попут:
процедура ТфрМаин.мнуИнфоЦлицк (Пошиљалац: ТОбјецт);Ово је, наравно, врло леп начин обављања посла, али само да бисте код лакше читали (и управљали), било би много ефикасније променити га у:
започети
АбоутБок: = Т АбоутБок. Креирај (нула);
покушати
АбоутБок. СховМодал;
напокон
АбоутБок. Издање;
крај;
крај;
процедура ТфрМаин.мнуИнфоЦлицк (Пошиљалац: ТОбјецт);Горња линија назива методу класе "СховИоурселф" класе ТАбоутБок. "СховИоурселф" мора бити обележен кључном речи "класа":
започети
ТАбоутБок. Покажи се;
крај;
разредна процедура ТАбоутБок. Покажи се;
започети
АбоутБок: = Т АбоутБок. Креирај (нула);
покушати
АбоутБок. СховМодал;
напокон
АбоутБок. Издање;
крај;
крај;
Ствари које треба задржати на уму
- Дефиниција методе класе мора садржавати резервирану класу ријечи прије поступка или кључне ријечи која покреће дефиницију.
- АбоутБок образац није аутоматски креиран (Пројецт-Оптионс).
- Ставите АбоутБок јединицу на клаузулу употребе главног обрасца.
- Не заборавите да прогласите поступак у интерфејсу (јавном) делу АбоутБок јединице.