What is a Class Method?

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 WSTRING

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 is an object, anyway?

What does a Class look like?

Just what is COM?

What are Constructors and Destructors?