Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Methoden-Deklaration


theo - Mo 21.09.09 14:16
Titel: Methoden-Deklaration
Hallo!

Wann bzw. warum wird einer Methoden-Deklaration das Schlüsselwort "class" vorangestellt?
Was sind die Unterschiede zu einer "normalen" Deklaration.

Ich habe diese Variante vermehrt in fremden Quelltexten gefunden.


Boldar - Mo 21.09.09 14:21

Dann wird dass eine sog. Klassenmethode.
Der Aufruf erfolgt dann über die Klasse, nicht über die instanz.
Deshalb gibt es allerdings auch kein self, d.h. man kann nicht auf Die Felder und normalen Methoden der Instanz zugreifen (self enthält die Klasse):


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
type Texample = class
  class procedure blablabla;
end;

{..}

class procedure TExample.blablabla;
begin
  showmessage ('Blablabla');
end;


{..}

{Aufruf dann so:}
TExample
.blablabla; //statt erst eine Instanz anlegen zu müssen


theo - Mo 21.09.09 14:24

Danke! Habe das Prinzip verstanden. Das ist woll so ähnlich wie eine statische Klasse in C++, denk ich, oder?