A CLASS METHOD is one which is private to the class in which it is located. That is, it may only be called from a METHOD or PROPERTY in the same class. It is invisible elsewhere. The CLASS METHOD must be located within a CLASS block, but outside of any INTERFACE blocks. This shows it is a direct member of the class, rather than a member of an interface.
CLASS MyClass
INSTANCE MyVar AS LONG
CLASS METHOD MyClassMethod(BYVAL param AS LONG) AS STRING
METHOD = "My" + STR$(param + MyVar)
END METHOD
INTERFACE MyInterface
INHERIT IUNKNOWN
METHOD MyMethod()
Result$ = ME.MyClassMethod(66)
END METHOD
END INTERFACE
END CLASS
In the above example, MyClassMethod() is a CLASS METHOD, and is always accessed using the pseudo-object ME (in this case ME.MyClassMethod). Class methods are never accessible from outside a class, nor are they ever described or published in a type library. By definition, there is no reason to have a private PROPERTY, so PowerBASIC does not offer a CLASS PROPERTY structure.
See Also
What are Constructors and Destructors?