Allister Christie hatte mal ein nettes Video dazu veröffentlicht:
http://www.codegearguru.com/video/029/ClassHelpers.html
Im Grunde kann man damit Dinge wie in normalen Funktionen regeln, nur dass der Compiler so tut, als würde die Funktion zur Klasse gehören.
Statt
X := GetResult(MyClass);
kannst Du
X := MyClass.GetResult;
schreiben.
Die Funktion GetResult kann aber nur auf öffentliche Eigenschaften der Klasse zugreifen. Man kann der Klasse KEINE Variablen hinzufügen.
(Dass class var geht, hätte ich gar nicht gewusst/gedacht.)