Thema: Delphi Ist das schon Klasse?

Einzelnen Beitrag anzeigen

Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#5

Re: Ist das schon Klasse?

  Alt 4. Nov 2007, 18:16
Das ist relativ einfach erklärt:

Der Speicher für ein konkretes Objekt das aus einer Klasse mittels Create erstellt wird, beinhaltet 'nur' die Variablen dieses Objektes.

Der ausführbare Code einer Klasse wird ja nicht für jedes Objekt in den Speicher kopiert, sondern der ausführbare Code existiert nur ein einziges mal.

Sobald Du innerhalb des Codes einer Klasse auf Self, oder eine andere Variable zugreifst, erst dann greifst Du auf den Speicherbereich zu, der beim Create erzeugt wird. Greifst Du nicht auf Variablen der Klasse zu, und auch nicht auf 'Self', so benötigt der Code auch nicht den SPeicherbereich des Objektes und läuft fehlerfrei durch.

Das ganze nennt sich dann eigentlich Klassen- bzw. auch Statische Methode. Also eine Methode, die man direkt auf der Klasse aufrufen kann, und dazu kein Objekt benötigt. Der Konstruktor Create ist technisch gesehen auch nur so eine solche statische Methode.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat